Change Member Scope
Change Scope of a Group Member
In order to change the scope of a group member, you can use the changeGroupMemberScope()
.
- Change Scope
- Typescript
let GUID = "GUID";
let UID = "UID";
let scope = CometChat.GROUP_MEMBER_SCOPE.ADMIN;
CometChat.updateGroupMemberScope(GUID, UID, scope).then(
response => {
console.log("Group member scopped changed", response);
}, error => {
console.log("Group member scopped changed failed", error);
}
);
let GUID: string = "GUID";
let UID: string = "UID";
CometChat.updateGroupMemberScope(GUID, UID, CometChat.GroupMemberScope.Admin).then(
(response: boolean) => {
console.log("Group member scopped changed", response);
}, (error: CometChat.CometChatException) => {
console.log("Group member scopped changed failed", error);
}
);
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. CometChat.SCOPE.ADMIN 2.CometChat.SCOPE.MODERATOR 3. CometChat.SCOPE.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 for the change member scope event, you will need to override the onGroupMemberScopeChanged()
method of the GroupListener
class
- Group Listener
- Typescript
let listenerID = "UNIQUE_LISTENER_ID";
CometChat.addGroupListener(
listenerID,
new CometChat.GroupListener({
onGroupMemberScopeChanged: (message, changedUser, newScope, oldScope, changedGroup) => {
console.log("User joined", {message, changedUser, newScope, oldScope, changedGroup});
}
})
);
let listenerID: string = "UNIQUE_LISTENER_ID";
CometChat.addGroupListener(
listenerID,
new CometChat.GroupListener({
onGroupMemberScopeChanged: (message: CometChat.Action, changedUser: CometChat.User, newScope: string, oldScope: string, changedGroup: CometChat.Group) => {
console.log("User joined", { message, changedUser, newScope, oldScope, changedGroup });
}
})
);
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 whose 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