Chat Members
Chat members are represented by ChatMember objects. Each object contains the member and their status in the chat.
With setChatMemberTag, you can set or remove a member’s tag when the chat supports member tags.
Listing Members
getChatMembers lists the members of a group, supergroup, or channel.
const members = await client.getChatMembers(chatId);
for (const { member, status } of members) {
console.log(member.id, status);
}
getChatMember lets you retrieve one member.
const member = await client.getChatMember(chatId, userId);
Listing Administrators
getChatAdministrators lists a chat’s administrators.
const administrators = await client.getChatAdministrators(chatId);
Online MembersUSER-ONLY
To get the approximate number of online members, call getOnlineCount.
Handling Membership Changes
The chatMember update contains the previous and current state of a member.
client.on("chatMember", (ctx) => {
const { oldChatMember, newChatMember } = ctx.update.chatMember;
console.log(oldChatMember.status, newChatMember.status);
});
With the myChatMember update, you can handle changes to the current account’s membership.
Adding Members
addChatMember adds one member, while addChatMembers adds several.
Restricting a Member
setChatMemberRights lets you restrict a member of a supergroup.
await client.setChatMemberRights(chatId, userId, {
rights: {
canSendMessages: false,
},
});
A future Unix timestamp in until makes the restriction temporary.
Promoting a Member
To grant administrator rights, call promoteChatMember.
await client.promoteChatMember(chatId, userId, {
canDeleteMessages: true,
canManageTopics: true,
});
Removing a Member
Ban a member to prevent them from rejoining. Unban them to allow them to join again.
await client.banChatMember(chatId, userId);
await client.unbanChatMember(chatId, userId);
With kickChatMember, you can remove a member without keeping them banned.
await client.kickChatMember(chatId, userId);
Deleting a Member’s MessagesUSER-ONLY
Users who administer a chat can delete all messages from one member with deleteChatMemberMessages.
await client.deleteChatMemberMessages(chatId, memberId);