Available methods

restrictChatMember()

Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate administrator rights. Pass True for all permissions to lift restrictions from a user. Returns True on success.

parameters

parametertyperequireddescription
chat_idnumber | stringrequiredUnique identifier for the target chat or username of the target supergroup in the format @username
user_idnumberrequiredUnique identifier of the target user
permissionsChatPermissionsrequiredA JSON-serialized object for new user permissions
use_independent_chat_permissionsbooleanoptionalPass True if chat permissions are set independently. Otherwise, the can_send_other_messages and can_add_web_page_previews permissions will imply the can_send_messages, can_send_audios, can_send_documents, can_send_photos, can_send_videos, can_send_video_notes, and can_send_voice_notes permissions; the can_send_polls permission will imply the can_send_messages permission.
until_datenumberoptionalDate when restrictions will be lifted for the user; Unix time. If user is restricted for more than 366 days or less than 30 seconds from the current time, they are considered to be restricted forever.

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 { RestrictChatMemberParams } from "@yaebal/types";

await bot.api.call<boolean>("restrictChatMember", {
  chat_id: 123456789,
  user_id: 123456789,
  permissions: {} /* ChatPermissions */,
} satisfies RestrictChatMemberParams);

context shortcut

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

context shortcut
/** Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate administrator rights. Pass *True* for all permissions to lift restrictions from a user. Returns *True* on success. */
ctx.restrictChatMember(params: Omit<RestrictChatMemberParams, "chat_id" | "user_id">)