Skip to main content

Group Roles

Last updated on

Every group member has roles assigned to them, which can be used to restrict or allow access to features such as: inviting a member, kicking a member, etc. Every group member will automatically be assigned to the default member role that is already defined in the group configuration. This can be either an admin group role or a member group role.

Get a List of Group Member Roles

An admin can get a list of the member roles that have already been created in the Admin Portal.

FAccelByteModelsLimitOffsetRequest GroupRoleListConfiguration;

FRegistry::Group.GetMemberRoles(
GroupRoleListConfiguration,
THandler<FAccelByteModelsGetMemberRolesListResponse>::CreateWeakLambda(this, [this](const FAccelByteModelsGetMemberRolesListResponse& Result)
{
// Do something if GetMemberRoles has been successful
}),
FErrorHandler::CreateWeakLambda(this, [](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if GetMemberRoles has an error
}));

Promote a Member to a Role

An admin can promote a member to a specific role, as long as the role has been defined for that group.

FString TargetRoleId = "SomeRoleId";
FAccelByteModelsUserIdWrapper MemberId;

MemberId.UserId = "SomeMemberId";

FRegistry::Group.AssignMemberRole(
TargetRoleId,
MemberId,
THandler<FAccelByteModelsGetUserGroupInfoResponse>::CreateWeakLambda(this, [this](const FAccelByteModelsGetUserGroupInfoResponse& Result)
{
// Do something if AssignMemberRole has been successful
}),
FErrorHandler::CreateWeakLambda(this, [](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if AssignMemberRole has an error
}));

Remove a Member's Role

An admin can also remove a role from a member.

FString TargetRoleId = "SomeRoleId";
FAccelByteModelsUserIdWrapper MemberId;

MemberId.UserId = "SomeMemberId";

FRegistry::Group.DeleteMemberRole(
TargetRoleId,
MemberId,
THandler<FAccelByteModelsGetUserGroupInfoResponse>::CreateWeakLambda(this, [this](const FAccelByteModelsGetUserGroupInfoResponse& Result)
{
// Do something if DeleteMemberRolehas been successful
}),
FErrorHandler::CreateWeakLambda(this, [](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if DeleteMemberRolehas an error
}));