그룹

그룹 또는 클랜은 다수의 사용자를 작은 커뮤니티 또는 팀으로 모읍니다.

그룹은 총괄 관리자, 관리자 및 구성원으로 이뤄집니다. 그룹은 사용자가 그룹을 나열할 때 결과에 표시할지 여부의 결정에 따라 공개 또는 비공개일 수 있습니다. 비공개 그룹은 WhatsApp 그룹이 작동하는 방식과 비슷합니다. 그룹 관리자 중 한 명이 가입 초대를 한 사용자만 추가할 수 있습니다.

그룹에는 최대 구성원 수도 설정되어 있습니다. 그룹을 클라이언트에서 생성한 경우 기본적으로 100으로 설정되며 그룹을 코드 런타임에서 생성한 경우에는 재정의할 수 있습니다.

그룹 사용자의 상태는 네 가지입니다.

코드목적
0관리자모든 그룹에는 최소 1명의 관리자가 있어야 합니다. 총괄 관리자는 모든 관리자 권한이 부여되며, 그룹을 삭제하고 관리자 구성원을 승격시킬 수 있습니다.
1관리자관리자는 2명 이상일 수 있습니다. 관리자는 그룹을 업데이트하거나 구성원을 수락, 추방, 승격, 강등, 금지, 추가할 수 있습니다.
2구성원일반 그룹 구성원 새로운 사용자의 가입 요청을 수락할 수 없습니다.
3가입 요청새로운 사용자로부터 가입 요청이 있습니다. 이것은 그룹의 최대 구성원 숫자에 포함되지 않습니다.

그룹 나열 및 필터링 #

name, lang_tag, open 및 (다수의) members과(와) 같은 여러 선택적 필터를 사용하여 나열할 수 있습니다. 어떤 필터도 사용하지 않으면 이 작업은 기존의 모든 그룹을 나열합니다.

name 필터는 대소문자를 구분하지 않으며 나머지 필터와 상호 배타적입니다. 이를 통해 사용자는 이름으로 특정 그룹을 찾을 수 있으며 부분 일치를 위한 % 와일드카드를 접미사로 지원합니다. 예를 들어, “Persian” 단어가 접두사로 붙은 그룹을 찾는 것은 persian% 이름 필터로 작성할 수 있습니다.

나머지 필터는 어떤 방식으로든 결합하거나 생략할 수 있습니다. 예를 들어, openmembers 필터를 사용하여 지정된 최대 수의 구성원이 있는 모든 공개 그룹을 나열할 수 있습니다.

그룹 목록에 대한 메시지 응답에 커서가 있습니다. 커서를 사용하여 다음 결과 세트를 빠르게 검색할 수 있습니다.

그룹 가입 #

가입할 그룹을 찾은 사용자는 구성원 가입을 요청할 수 있습니다. 공개 그룹은 권한 없이 가입할 수 있지만 비공개 그룹은 총괄 관리자 또는 관리자가 해당 사용자를 수락해야 합니다.

사용자가 그룹에 가입하거나 그룹에서 나가면 이벤트 메시지가 채팅 기록에 추가됩니다. 이렇게 하면 구성원은 그룹에서 변경된 내용을 쉽게 확인할 수 있습니다.

그룹에 속한 사용자는 그룹 채팅에 가입하고 메시지 기록에 액세스할 수 있습니다.

그룹에 추가된 사용자에게는 인앱 알림이 전달됩니다. 비공개 그룹의 경우 사용자가 가입을 요청하면 관리자 또는 총괄 관리자에게 알림이 전달됩니다.

사용자의 그룹 나열 #

각 사용자는 구성원, 관리자 또는 총괄 관리자로 가입한 그룹을 나열할 수 있습니다. 목록에는 가입을 요청했지만 아직 수락되지 않은 그룹도 포함됩니다.

그룹 구성원 나열 #

사용자는 그룹에 속한 모든 구성원을 나열할 수 있습니다. 여기에는 비공개 그룹 가입을 요청했지만 아직 수락되지 않은 다른 사용자가 포함됩니다.

그룹 생성 #

이름 및 기타 선택적 필드를 사용하여 그룹을 만들 수 있습니다. 이러한 선택적 필드는 사용자가 그룹을 나열하고 필터링할 때 사용됩니다. 그룹을 생성한 사용자는 그룹의 소유자이자 총괄 관리자입니다.

서버 측 코드로 그룹을 생성할 수도 있습니다. 이렇게 하면 그룹을 다른 레코드 또는 기능과 함께 생성해야 하는 경우에 매우 유용할 수 있습니다.

그룹 메타데이터 #

group.metadata에 그룹에 대한 추가 필드를 저장할 수 있습니다. 이는 사용자들에게 공개적으로 제공하려는 데이터를 공유하고, 그룹 나열 및 필터링에 사용할 수 있는 추가 세부 정보를 제공할 수 있습니다.

메타데이터를 사용하여 기존 그룹 기능 이외에 새로운 기능을 생성할 수도 있습니다.

메타데이터는 그룹당 16KB로 제한되며 스크립트 런타임을 통해서만 설정할 수 있습니다.

다음 예는 그룹 메타데이터를 사용하여 추가된 역할로 Nakama의 그룹 구성원 권한을 확장하는 방법을 보여줍니다(모범 사례 가이드 참조). 특히, 다른 구성원을 그룹에서 추방하기 위해 그룹 구성원이 가져야 하는 경비원 역할에 대해 설명합니다.

그룹 업데이트 #

그룹이 생성되면 해당 관리자는 선택적 필드를 업데이트할 수 있습니다.

그룹 크기 업데이트 #

그룹 크기 업데이트는 서버를 통해서만 정식으로 수행할 수 있는 작업입니다.

그룹 나가기 #

사용자는 그룹에서 나갈 수 있으며 나가면 더 이상 그룹 채팅에 가입하거나 메시지 기록을 읽을 수 없습니다. 사용자가 총괄 관리자인 경우 해당 그룹에 다른 총괄 관리자가 한 명 이상 있을 때만 나갈 수 있습니다.

사용자가 그룹을 나가면 다른 구성원이 읽을 수 있는 이벤트 메시지가 그룹 채팅에 생성됩니다.

그룹 관리 #

각 그룹은 한 명 이상의 총괄 관리자 또는 관리자가 관리합니다. 이러한 사용자는 선택적 필드를 변경하고, 새 구성원을 수락 또는 거부하고, 구성원 또는 다른 관리자를 제거하고, 다른 구성원을 관리자로 승격시킬 수 있는 권한이 있는 구성원입니다.

그룹에는 한 명 이상의 총괄 관리자가 있어야 합니다. 마지막 총괄 관리자는 나가기 전에 다른 구성원을 승격해야 합니다.

새 구성원 수락 #

사용자가 비공개 그룹에 가입하면 관리자가 해당 사용자를 수락하거나 거부할 때까지 가입 요청이 생성됩니다. 총괄 관리자 또는 관리자는 사용자를 그룹에 수락할 수 있습니다.

270

그룹에 추가된 사용자에게는 인앱 알림이 전달됩니다. 비공개 그룹의 경우 가입 요청 알림이 관리자에게 전달됩니다.

이 사용자의 그룹 가입을 거부하려면 해당 사용자를 추방해야 합니다.

구성원 승격 #

관리자는 그룹의 다른 구성원을 관리자로 승격할 수 있습니다. 이렇게 하면 해당 구성원에게 그룹을 관리할 수 있는 동일한 권한이 부여됩니다. 그룹에 한 명 이상의 관리자가 있을 수 있습니다.

구성원 강등 #

관리자는 그룹에서 다른 구성원의 역할을 강등할 수 있습니다. 이렇게 하면 구성원의 현재 권한이 취소되고 강등된 역할에서 사용할 수 있는 권한이 부여됩니다. 그룹에서 이미 역할이 가장 낮은 구성원은 강등의 영향을 받지 않습니다.

구성원 추방 #

관리자 또는 총괄 관리자는 그룹에서 구성원을 추방할 수 있습니다. 사용자는 제거되지만 사용자가 금지되거나 그룹이 비공개인 경우가 아니면 나중에 다시 참여할 수 있으며 이 경우 관리자가 재가입 요청을 수락해야 합니다.

사용자가 그룹에서 제거되어도 다른 그룹에 가입할 수 있습니다. 나쁜 사용자의 경우 그룹에서 추방하고 그룹 또는전체 서버에 다시 가입하는 것을 금지해야 합니다. 이렇게 하면 사용자가 서버에 연결하고 전혀 상호 작용할 수 없습니다.

그룹 구성원 금지 #

관리자 또는 총괄 관리자는 그룹에서 구성원을 금지할 수 있습니다. 사용자는 그룹에서 추방되며 다시 가입하거나 다시 가입을 요청할 수 없습니다.

Nakama 콘솔 또는 런타임 코드 기능을 통해 이 사용자의 금지를 해제할 수 있습니다.

그룹 제거 #

모든 구성원을 해산할 수 있는 총괄 관리자 중 한 명만이 그룹을 제거할 수 있습니다. 그룹이 제거되면 해당 이름을 다시 사용하여 새 그룹을 만들 수 있습니다.

Related Pages