채널 사용자 관리

1. 채널에 사용자 초대하기

채널에 사용자를 초대할 수 있습니다.

채널의 Owner가 아니어도 초대가 가능합니다.

const resp = await client.addChannelMembers({
    channelId: 'my_channel',
    members: ['new_user1', 'new_user_2'],
});

2. 채널에서 사용자 제거하기

채널에 참여한 사용자를 제거할 수 있습니다.

채널의 Owner만 수행 가능합니다.

const resp = await client.removeChannelMembers({
    channelId: 'my_channel',
    members: ['new_user1', 'new_user_2'],
});

3. 채널 사용자 목록 가져오기

채널에서 사용자 목록을 가져옵니다.

const numOfRows = 5;

const resp = await client.getChannelMembers({
    channelId: 'my_channel',
});

if (resp.hasNext) {
    const lastUserId = resp.users[resp.users.length - 1].id;
    const moreResp = await client.getChannelMembers({lastUserId, limit: numOfRows});
}

4. 사용자 차단하기

채널에 참여한 사용자를 차단합니다.

  • 채널의 Owner만 수행 가능합니다.

  • 차단된 사용자는 즉시 채널에서 퇴장당하며 차단해제가 될 때 까지 들어올 수 없습니다.

await client.banChannelMembers({
    channelId: 'my_channel',
    members: ['bad_user_1', 'bad_user_2'],
});

5. 사용자 차단 해제하기

채널에서 차단 되었던 사용자를 차단해제합니다.

채널의 Owner만 수행 가능합니다.

await client.unbanChannelMembers({
    channelId: 'my_channel',
    members: ['good_user_1', 'good_user_2'],
});

6. 차단된 사용자 목록 가져오기

채널에서 차단 되었던 사용자 목록을 가져옵니다.

채널의 Owner만 수행 가능합니다.

const numOfRows = 5;

const resp = await client.getBannedChannelUsers({
    channelId: 'my_channel',
});

if (resp.hasNext) {
    const lastUserId = resp.users[resp.users.length - 1].id;
    const moreResp = await client.getBannedChannelUsers({lastUserId, limit: numOfRows});
}

7. 사용자 Mute

채널에 참여한 특정 사용자가 메시지 발송을 못 하도록 막는 mute 기능을 제공합니다.

  • 채널의 Owner만 수행 가능합니다.

  • expireInMinutes 옵션을 사용하면 mute가 N분 후에 자동 해제되도록 지정할 수 있습니다. expireInMinutes의 기본값은 0입니다 (자동 해제 없음)

await client.muteChannelMembers({
    channelId: 'some_public_channel',
    members: ['talkative_user1'],
    expireInMinutes: 5, // 5분 후 mute 해제
});

8. 사용자 Mute 해제

채널 사용자의 mute 상태를 해제할 수 있습니다.

채널의 Owner만 수행 가능합니다.

await client.unmuteChannelMembers({
    channelId: 'some_public_channel',
    members: ['talkative_user1'],
});

9. Mute 처리된 사용자 목록 가져오기

채널에서 mute 처리 되었던 사용자 목록을 가져옵니다.

채널의 Owner만 수행 가능합니다.

const resp = await client.getMutedChannelMembers({
    channelId: 'my_channel',
});

if (resp.hasNext) {
    const lastUserId = resp.users[resp.users.length - 1].id;
    const moreResp = await client.getMutedChannelMembers({lastUserId, limit: numOfRows});
}

10. 사용자 Peer-Mute

채널에 참여한 특정 사용자의 메시지를 차단합니다.

  • 로그인 된 자신의 계정에만 특정 사용자에 대한 메시지 차단 효과가 적용됩니다. (다른 유저는 정상적으로 차단된 유저의 메시지를 볼 수 있음)

  • Peer Mute / Unmute 는 Push Notification를 포함한 별도의 이벤트가 제공되지 않습니다.

  • 채널 소유자(Owner)가 아니더라도, 채널에 참여한 특정 사용자의 메시지를 차단할 수 있습니다.

  • expireInMinutes 옵션을 사용하면 mute가 N분 후에 자동 해제되도록 지정할 수 있습니다. expireInMinutes의 기본값은 0입니다 (자동 해제 없음)

const resp = await client.mutePeers({
    channelId: 'my_channel',
    members: ['other_user'],
    expireInMinutes: 5, // 5분 후 mute 해제
});

11. Peer-Mute 된 사용자 목록 가져오기

내가 채널에서 Peer-Mute한 사용자 목록을 가져옵니다.

const numOfRows = 5;

const resp = await client.getMutedPeers({
    channelId: 'my_channel',
    limit: numOfRows,
});

if (resp.hasNext) {
    const lastUserId = resp.users[resp.members.length - 1].id;
    const moreResp = await client.getMutedPeers({lastUserId, limit: numOfRows});
}

12. 사용자 Peer-Mute 해제

채널에 참여한 특정 사용자의 메시지 차단을 해제합니다.

  • Peer Mute / Unmute 는 Push Notification를 포함한 별도의 이벤트가 제공되지 않습니다.

  • 채널 소유자(Owner)가 아니더라도, 채널에 참여한 특정 사용자의 메시지 차단을 해제할 수 있습니다.

// unmute peers
const resp = await client.unmutePeers({
    channelId: 'my_channel',
    members: ['other_user'],
});

Last updated