Manage Channel Members

1. Invite Users

You can invite members to the channel even if you are not the owner.

Any member can add another member to channel.

[[TalkPlus sharedInstance] addMemberToChannel:channel 
    userIds:userIds 
    success:^(TPChannel *tpChannel) {
    // SUCCESS
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

2. Remove Members

Only the channel owner can remove members.

[[TalkPlus sharedInstance] removeMemberToChannel:channel 
    userIds:userIds 
    success:^(TPChannel *tpChannel) {
    // SUCCESS
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

3. Get Channel Member List

For super channel, this is the only way to get channel members.

[[TalkPlus sharedInstance] getChannelMembers:tpChannel 
    lastUser:lastUser 
    success:^(NSArray<TPMember *> *tpUsers, BOOL hasNext) {
  // SUCCESS
  // If 'hasNext' is YES, call this method with the last object in 'tpUsers'.
} failure:^(int errorCode, NSError *error) {
  // FAILURE
}];

4. Ban Users

  • Only the channel owner can ban users.

  • Banned users are immediately removed from the channel and cannot join the channel until unbanned by the channel owner.

[[TalkPlus sharedInstance] banMemberToChannel:channel 
    userIds:userIds 
    success:^(TPChannel *tpChannel) {
    // SUCCESS
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

5. Unban Users

Only the channel owner can unban users.

[[TalkPlus sharedInstance] unBanMemberToChannel:channel 
    userIds:userIds 
    success:^(TPChannel *tpChannel) {
    // SUCCESS
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

6. Mute Members

Mute feature allows the channel owner to mute specific members in the channel. Muted members are not allowed to send messages.

  • Only the channel owner can mute other members.

  • expireInMinutes specifies when mute status is expired. Default value for expireInMinutes is 0 (no expiry).

[[TalkPlus sharedInstance] muteMemberToChannel:channel 
    userIds:userIds 
    expireInMinutes:expireInMinutes
    success:^(TPChannel *tpChannel) {
    // SUCCESS
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

7. Unmute Members

Only the channel owner can unmute other members.

[[TalkPlus sharedInstance] unMuteMemberToChannel:channel 
    userIds:userIds 
    success:^(TPChannel *tpChannel) {
    // SUCCESS
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

8. Peer Mute

You can mute another member in the channel.

  • Any user can 'peer mute' another member in the channel.

  • If you 'peer mute' another member, you will stop seeing messages from that particular member in the channel but other users will continue to see messages from that member in the channel.

  • There is no push notification or event handler for this event.

  • expireInMinutes allows you to control when 'peer mute' status expires. Default value for expireInMinutes is 0 (no expiry).

[TalkPlus.sharedInstance mutePeerToChannel:channel
        userIds:@[userId]
        expireInMinutes:0
        success:^(TPChannel *tpChannel, NSArray<TPMember *> *mutedPeers) {
   // SUCCESS (returns muted members)
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

9. Peer Unmute

There is no push notification or event handler for this event.

[TalkPlus.sharedInstance unMutePeerToChannel:channel
        userIds:@[userId]
        success:^(TPChannel *tpChannel, NSArray<TPMember *> *unMutedPeers) {
   // SUCCESS (returns unmuted members)
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

10. Get Peer Muted List

[TalkPlus.sharedInstance getMutedPeers:channel
    lastUser:lastUser
    success:^(NSArray<TPMember *> *mutedPeers, hasNext) {
    // SUCCESS 
    // If 'hasNext' is YES, call this method with the last object in 'mutedPeers'.         
} failure:^(int errorCode, NSError *error) {
    // FAILURE
}];

Last updated