Available methods

promoteChatMember()

Use this method to promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Pass False for all boolean parameters to demote a user. Returns True on success.

parameters

parametertyperequireddescription
chat_idnumber | stringrequiredUnique identifier for the target chat or username of the target channel in the format @username
user_idnumberrequiredUnique identifier of the target user
is_anonymousbooleanoptionalPass True if the administrator's presence in the chat is hidden
can_manage_chatbooleanoptionalPass True if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages, ignore slow mode, and send messages to the chat without paying Telegram Stars. Implied by any other administrator privilege.
can_delete_messagesbooleanoptionalPass True if the administrator can delete messages of other users
can_manage_video_chatsbooleanoptionalPass True if the administrator can manage video chats
can_restrict_membersbooleanoptionalPass True if the administrator can restrict, ban or unban chat members, or access supergroup statistics. For backward compatibility, defaults to True for promotions of channel administrators.
can_promote_membersbooleanoptionalPass True if the administrator can add new administrators with a subset of their own privileges or demote administrators that they have promoted, directly or indirectly (promoted by administrators that were appointed by him)
can_change_infobooleanoptionalPass True if the administrator can change chat title, photo and other settings
can_invite_usersbooleanoptionalPass True if the administrator can invite new users to the chat
can_post_storiesbooleanoptionalPass True if the administrator can post stories to the chat
can_edit_storiesbooleanoptionalPass True if the administrator can edit stories posted by other users, post stories to the chat page, pin chat stories, and access the chat's story archive
can_delete_storiesbooleanoptionalPass True if the administrator can delete stories posted by other users
can_post_messagesbooleanoptionalPass True if the administrator can post messages in the channel, approve suggested posts, or access channel statistics; for channels only
can_edit_messagesbooleanoptionalPass True if the administrator can edit messages of other users and can pin messages; for channels only
can_pin_messagesbooleanoptionalPass True if the administrator can pin messages; for supergroups only
can_manage_topicsbooleanoptionalPass True if the user is allowed to create, rename, close, and reopen forum topics; for supergroups only
can_manage_direct_messagesbooleanoptionalPass True if the administrator can manage direct messages within the channel and decline suggested posts; for channels only
can_manage_tagsbooleanoptionalPass True if the administrator can edit the tags of regular members; for groups and supergroups only

returns

boolean

usage in yaebal

not (yet) hard-typed on Api — call it through the generic .call<T>() escape hatch documented in @yaebal/types.

bot.ts
import type { PromoteChatMemberParams } from "@yaebal/types";

await bot.api.call<boolean>("promoteChatMember", {
  chat_id: 123456789,
  user_id: 123456789,
} satisfies PromoteChatMemberParams);

context shortcut

also available as ctx.promoteChatMember() on 11 context types — see @yaebal/contexts.

context shortcut
/** Use this method to promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Pass *False* for all boolean parameters to demote a user. Returns *True* on success. */
ctx.promoteChatMember(params: Omit<PromoteChatMemberParams, "chat_id" | "user_id">)