Change Member Scope
Change Scope of a Group Member
In order to change the scope of a group member, you can use the changeGroupMemberScope()
.
- Dart
String UID = "UID";
String GUID = "GUID";
String scope = CometChatMemberScope.admin;
CometChat.updateGroupMemberScope(guid: GUID, uid: UID,scope: scope,
onSuccess: (String message) {
debugPrint("Group Member Scope Changed Successfully : $message");
},
onError: (CometChatException e) {
debugPrint("Group Member Scope Change failed : ${e.message}");
});
This method takes the below parameters:
Parameter | Description |
---|---|
UID | The UID of the member whose scope you would like to change |
GUID | The GUID of the group for which the member's scope needs to be changed |
scope | the updated scope of the member. This can be either of the 3 values: 1. CometChatMemberScope. admin (admin)2. CometChatMemberScope. moderator (moderator)3. CometChatMemberScope. participant (participant) |
The default scope of any member is participant
. Only the Admin of the group can change the scope of any participant in the group.
Real-Time Group Member Scope Changed Events
In other words, as a member of a group, how do I know when someone's scope is changed when my app is running?
In order to receive real-time events whenever a group member's scope changes, you will need to override the onGroupMemberScopeChanged()
method of the GroupListener
class
- Dart
class Class_Name with GroupListener {
//CometChat.addGroupListener("group_Listener_id", this);
void onGroupMemberScopeChanged(Action action, User updatedBy, User updatedUser, String scopeChangedTo, String scopeChangedFrom, Group group) {
print("onGroupMemberScopeChanged ");
}
}
Missed Group Member Scope Changed Events
In other words, as a member of a group, how do I know when someone's scope is changed when my app is not running?
When you retrieve the list of previous messages if a member's scope has been changed for any group that the logged-in user is a member of, the list of messages will contain an Action
message. An Action
message is a sub-class of BaseMessage
class.
For the group member scope changed event, in the Action
object received, the following fields can help you get the relevant information-
action
-scopeChanged
actionOn
- User object containing the details of the user whos scope has been changedactionBy
- User object containing the details of the user who changed the scope of the memberactionFor
- Group object containing the details of the group in which the member scope was changedoldScope
- The original scope of the membernewScope
- The updated scope of the member