Skip to content

Instantly share code, notes, and snippets.

@hieptl
Created November 14, 2021 06:24
Show Gist options
  • Save hieptl/d229605b9e441eaef72b50097d87d281 to your computer and use it in GitHub Desktop.
Save hieptl/d229605b9e441eaef72b50097d87d281 to your computer and use it in GitHub Desktop.
RightSidebars.js - Listen to Group Changes - Discord Clone
...
useEffect(() => {
if (cometChat && selectedChannel) {
listenGroupChanges();
return () => {
if (cometChat) {
cometChat.removeGroupListener(selectedChannel.guid);
}
}
}
}, [cometChat, selectedChannel]);
...
const listenGroupChanges = () => {
cometChat.addGroupListener(
selectedChannel.guid,
new cometChat.GroupListener({
onGroupMemberJoined: (message, joinedUser, joinedGroup) => {
loadChannelMembers();
},
onGroupMemberLeft: (message, leftUser, leftGroup) => {
loadChannelMembers();
},
onGroupMemberKicked: (message, kickedUser, kickedBy, kickedFrom) => {
loadChannelMembers();
},
onGroupMemberBanned: (message, bannedUser, bannedBy, bannedFrom) => {
loadChannelMembers();
},
onGroupMemberUnbanned: (message, unbannedUser, unbannedBy, unbannedFrom) => {
loadChannelMembers();
},
onGroupMemberScopeChanged: (message, changedUser, newScope, oldScope, changedGroup) => {
loadChannelMembers();
},
onMemberAddedToGroup: (message, userAdded, addedby, addedTo) => {
loadChannelMembers();
},
})
);
};
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment