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.
- Unreal Engine
- Unity
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
}));
AccelBytePlugin.GetGroup().GetMemberRoles(result =>
{
if (result.IsError)
{
// Do something if GetMemberRoles has an error
Debug.Log($"Error GetMemberRoles, Error Code: {result.Error.Code} Error Message: {result.Error.Message}");
}
else
{
// Do something if GetMemberRoles has been successful
}
});
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.
- Unreal Engine
- Unity
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
}));
string memberRoleId = "SomeMemberRoleId";
string userId = "SomeUserId";
AccelBytePlugin.GetGroup().AssignRoleToMember(memberRoleId, userid, result =>
{
if (result.IsError)
{
// Do something if AssignRoleToMember has an error
Debug.Log($"Error AssignRoleToMember, Error Code: {result.Error.Code} Error Message: {result.Error.Message}");
}
else
{
// Do something if AssignRoleToMember has been successful
}
});
Remove a Member's Role
An admin can also remove a role from a member.
- Unreal Engine
- Unity
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
}));
string memberRoleId = "SomeMemberRoleId";
string userId = "SomeUserId";
AccelBytePlugin.GetGroup().RemoveRoleFromMember(memberRoleId, userid, result =>
{
if (result.IsError)
{
// Do something if RemoveRoleFromMember has an error
Debug.Log($"Error RemoveRoleFromMember, Error Code: {result.Error.Code} Error Message: {result.Error.Message}");
}
else
{
// Do something if RemoveRoleFromMember has been successful
}
});