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
var GUID = "GUID";
var UID = "UID";
var 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. CometChatConstants.SCOPE_ADMIN (admin)2.CometChatConstants.SCOPE_MODERATOR (moderator)3.CometChatConstants.SCOPE_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 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