Functions

approve-chat-join-request

fn (request: ApproveChatJoinRequestRequest): Bool
fn (request: ApproveChatJoinRequestRequest, opts: Map): Bool

approveChatJoinRequest - Approve a chat join request. The bot must be an administrator with can_invite_users right.

ban-chat-member

fn (request: BanChatMemberRequest): Bool
fn (request: BanChatMemberRequest, opts: Map): Bool

banChatMember - Ban a user from a group or channel. until_date is a Unix timestamp for a temporary ban (30 seconds to 366 days in the future). Set revoke_messages: true to delete all messages from the user.

fn (request: CreateChatInviteLinkRequest): Map
fn (request: CreateChatInviteLinkRequest, opts: Map): Map

createChatInviteLink - Create an additional invite link. member_limit (1-99999) limits joins. expire_date is a Unix timestamp. Set creates_join_request: true to require admin approval.

decline-chat-join-request

fn (request: DeclineChatJoinRequestRequest): Bool
fn (request: DeclineChatJoinRequestRequest, opts: Map): Bool

declineChatJoinRequest - Decline a chat join request.

fn (request: ExportChatInviteLinkRequest): Str
fn (request: ExportChatInviteLinkRequest, opts: Map): Str

exportChatInviteLink - Generate a new primary invite link. Any previously generated primary link is revoked.

get-chat

fn (request: GetChatRequest): Map
fn (request: GetChatRequest, opts: Map): Map

getChat - Get information about a chat. Returns the full chat object with title, type, description, and settings.

Example

::chat ::telegram::chat

response ::chat/get-chat(::chat/GetChatRequest({
  chat_id: -1001234567890
}))
response.title  // => "My Group"
response.type   // => "supergroup"

get-chat-administrators

fn (request: GetChatAdministratorsRequest): Vec<Map>
fn (request: GetChatAdministratorsRequest, opts: Map): Vec<Map>

getChatAdministrators - Get a list of administrators in a chat. Returns an array of ChatMember objects.

get-chat-member

fn (request: GetChatMemberRequest): Map
fn (request: GetChatMemberRequest, opts: Map): Map

getChatMember - Get information about a specific member of a chat. Returns their status (creator, administrator, member, restricted, left, kicked).

get-chat-member-count

fn (request: GetChatMemberCountRequest): Int
fn (request: GetChatMemberCountRequest, opts: Map): Int

getChatMemberCount - Get the number of members in a chat.

leave-chat

fn (request: LeaveChatRequest): Bool
fn (request: LeaveChatRequest, opts: Map): Bool

leaveChat - Leave a group, supergroup, or channel.

pin-chat-message

fn (request: PinChatMessageRequest): Bool
fn (request: PinChatMessageRequest, opts: Map): Bool

pinChatMessage - Pin a message in a chat. Set disable_notification: true to silently pin.

promote-chat-member

fn (request: PromoteChatMemberRequest): Bool
fn (request: PromoteChatMemberRequest, opts: Map): Bool

promoteChatMember - Promote or demote a user in a supergroup or channel. Pass the specific admin rights to grant. All rights default to false.

restrict-chat-member

fn (request: RestrictChatMemberRequest): Bool
fn (request: RestrictChatMemberRequest, opts: Map): Bool

restrictChatMember - Restrict a user in a supergroup. permissions is a ChatPermissions object controlling what the user can do (send messages, media, polls, etc.).

fn (request: RevokeChatInviteLinkRequest): Map
fn (request: RevokeChatInviteLinkRequest, opts: Map): Map

revokeChatInviteLink - Revoke an invite link created by the bot. The link will no longer work.

set-chat-description

fn (request: SetChatDescriptionRequest): Bool
fn (request: SetChatDescriptionRequest, opts: Map): Bool

setChatDescription - Change the description of a group, supergroup, or channel. Pass empty/null to remove the description.

set-chat-permissions

fn (request: SetChatPermissionsRequest): Bool
fn (request: SetChatPermissionsRequest, opts: Map): Bool

setChatPermissions - Set the default permissions for all members of a group or supergroup. permissions is a ChatPermissions object (can_send_messages, can_send_photos, can_send_polls, can_invite_users, can_pin_messages, ...). The bot must be an administrator with can_restrict_members.

Example

::chat ::telegram::chat

// Read-only announcement group
::chat/set-chat-permissions(::chat/SetChatPermissionsRequest({
  chat_id: -1001234567890,
  permissions: {can_send_messages: false, can_send_polls: false, can_invite_users: true}
}))

set-chat-title

fn (request: SetChatTitleRequest): Bool
fn (request: SetChatTitleRequest, opts: Map): Bool

setChatTitle - Change the title of a group, supergroup, or channel. Titles can be 1-128 characters.

unban-chat-member

fn (request: UnbanChatMemberRequest): Bool
fn (request: UnbanChatMemberRequest, opts: Map): Bool

unbanChatMember - Unban a previously banned user. Set only_if_banned: true to avoid accidentally unbanning an active member (which would remove them).

unpin-all-chat-messages

fn (request: UnpinAllChatMessagesRequest): Bool
fn (request: UnpinAllChatMessagesRequest, opts: Map): Bool

unpinAllChatMessages - Remove all pinned messages from a chat.

unpin-chat-message

fn (request: UnpinChatMessageRequest): Bool
fn (request: UnpinChatMessageRequest, opts: Map): Bool

unpinChatMessage - Unpin a message. If message_id is not specified, the most recent pinned message is unpinned.

Types

ApproveChatJoinRequestRequest

ApproveChatJoinRequestRequest type {
    chat_id: Any,
    user_id: Int
}

BanChatMemberRequest

BanChatMemberRequest type {
    chat_id: Any,
    user_id: Int,
    until_date: Int?,
    revoke_messages: Bool?
}

CreateChatInviteLinkRequest

CreateChatInviteLinkRequest type {
    chat_id: Any,
    name: Str?,
    expire_date: Int?,
    member_limit: Int?,
    creates_join_request: Bool?
}

DeclineChatJoinRequestRequest

DeclineChatJoinRequestRequest type {
    chat_id: Any,
    user_id: Int
}

ExportChatInviteLinkRequest

ExportChatInviteLinkRequest type {
    chat_id: Any
}

GetChatAdministratorsRequest

GetChatAdministratorsRequest type {
    chat_id: Any
}

GetChatMemberCountRequest

GetChatMemberCountRequest type {
    chat_id: Any
}

GetChatMemberRequest

GetChatMemberRequest type {
    chat_id: Any,
    user_id: Int
}

GetChatRequest

GetChatRequest type {
    chat_id: Any
}

LeaveChatRequest

LeaveChatRequest type {
    chat_id: Any
}

PinChatMessageRequest

PinChatMessageRequest type {
    chat_id: Any,
    message_id: Int,
    disable_notification: Bool?,
    business_connection_id: Str?
}

PromoteChatMemberRequest

PromoteChatMemberRequest type {
    chat_id: Any,
    user_id: Int,
    is_anonymous: Bool?,
    can_manage_chat: Bool?,
    can_delete_messages: Bool?,
    can_manage_video_chats: Bool?,
    can_restrict_members: Bool?,
    can_promote_members: Bool?,
    can_change_info: Bool?,
    can_invite_users: Bool?,
    can_post_messages: Bool?,
    can_edit_messages: Bool?,
    can_pin_messages: Bool?,
    can_post_stories: Bool?,
    can_edit_stories: Bool?,
    can_delete_stories: Bool?,
    can_manage_topics: Bool?
}

RestrictChatMemberRequest

RestrictChatMemberRequest type {
    chat_id: Any,
    user_id: Int,
    permissions: Map,
    until_date: Int?,
    use_independent_chat_permissions: Bool?
}

RevokeChatInviteLinkRequest

RevokeChatInviteLinkRequest type {
    chat_id: Any,
    invite_link: Str
}

SetChatDescriptionRequest

SetChatDescriptionRequest type {
    chat_id: Any,
    description: Str?
}

SetChatPermissionsRequest

SetChatPermissionsRequest type {
    chat_id: Any,
    permissions: Map,
    use_independent_chat_permissions: Bool?
}

SetChatTitleRequest

SetChatTitleRequest type {
    chat_id: Any,
    title: Str
}

UnbanChatMemberRequest

UnbanChatMemberRequest type {
    chat_id: Any,
    user_id: Int,
    only_if_banned: Bool?
}

UnpinAllChatMessagesRequest

UnpinAllChatMessagesRequest type {
    chat_id: Any
}

UnpinChatMessageRequest

UnpinChatMessageRequest type {
    chat_id: Any,
    message_id: Int?,
    business_connection_id: Str?
}