Skip to main content
Module

x/grammy_types/manage.ts

Type declarations of the Telegram Bot API.
Very Popular
Latest
File
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964
import type { Location, Message, PhotoSize, ReactionType, Sticker,} from "./message.ts";import type { Update } from "./update.ts";
/** Describes the current status of a webhook. */export interface WebhookInfo { /** Webhook URL, may be empty if webhook is not set up */ url?: string; /** True, if a custom certificate was provided for webhook certificate checks */ has_custom_certificate: boolean; /** Number of updates awaiting delivery */ pending_update_count: number; /** Currently used webhook IP address */ ip_address?: string; /** Unix time for the most recent error that happened when trying to deliver an update via webhook */ last_error_date?: number; /** Error message in human-readable format for the most recent error that happened when trying to deliver an update via webhook */ last_error_message?: string; /** Unix time of the most recent error that happened when trying to synchronize available updates with Telegram datacenters */ last_synchronization_error_date?: number; /** The maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery */ max_connections?: number; /** A list of update types the bot is subscribed to. Defaults to all update types except chat_member */ allowed_updates?: Array<Exclude<keyof Update, "update_id">>;}
/** This object represents a Telegram user or bot. */export interface User { /** Unique identifier for this user or bot. */ id: number; /** True, if this user is a bot */ is_bot: boolean; /** User's or bot's first name */ first_name: string; /** User's or bot's last name */ last_name?: string; /** User's or bot's username */ username?: string; /** IETF language tag of the user's language */ language_code?: string; /** True, if this user is a Telegram Premium user */ is_premium?: true; /** True, if this user added the bot to the attachment menu */ added_to_attachment_menu?: true;}
/** This object represents a Telegram user or bot that was returned by `getMe`. */export interface UserFromGetMe extends User { is_bot: true; username: string; /** True, if the bot can be invited to groups. Returned only in getMe. */ can_join_groups: boolean; /** True, if privacy mode is disabled for the bot. Returned only in getMe. */ can_read_all_group_messages: boolean; /** True, if the bot supports inline queries. Returned only in getMe. */ supports_inline_queries: boolean; /** True, if the bot can be connected to a Telegram Business account to receive its messages. Returned only in getMe. */ can_connect_to_business?: boolean;}
export declare namespace Chat { /** Internal type for private chats */ export interface PrivateChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "private"; /** Title, for supergroups, channels and group chats */ title?: undefined; /** Username, for private chats, supergroups and channels if available */ username?: string; /** First name of the other party in a private chat */ first_name: string; /** Last name of the other party in a private chat */ last_name?: string; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: undefined; } /** Internal type for group chats */ export interface GroupChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "group"; /** Title, for supergroups, channels and group chats */ title: string; /** Username, for private chats, supergroups and channels if available */ username?: undefined; /** First name of the other party in a private chat */ first_name?: undefined; /** Last name of the other party in a private chat */ last_name?: undefined; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: undefined; } /** Internal type for supergroup chats */ export interface SupergroupChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "supergroup"; /** Title, for supergroups, channels and group chats */ title: string; /** Username, for private chats, supergroups and channels if available */ username?: string; /** First name of the other party in a private chat */ first_name?: undefined; /** Last name of the other party in a private chat */ last_name?: undefined; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: true; } /** Internal type for channel chats */ export interface ChannelChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "channel"; /** Title, for supergroups, channels and group chats */ title: string; /** Username, for private chats, supergroups and channels if available */ username?: string; /** First name of the other party in a private chat */ first_name?: undefined; /** Last name of the other party in a private chat */ last_name?: undefined; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: undefined; }}
/** This object represents a chat. */export type Chat = | Chat.PrivateChat | Chat.GroupChat | Chat.SupergroupChat | Chat.ChannelChat;
export declare namespace ChatFullInfo { /** Internal type for private chats */ export interface PrivateChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "private"; /** Title, for supergroups, channels and group chats */ title?: undefined; /** Username, for private chats, supergroups and channels if available */ username?: string; /** First name of the other party in a private chat */ first_name: string; /** Last name of the other party in a private chat */ last_name?: string; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: undefined; /** Identifier of the accent color for the chat name and backgrounds of the chat photo, reply header, and link preview. See accent colors for more details. */ accent_color_id: number; /** The maximum number of reactions that can be set on a message in the chat */ max_reaction_count: number; /** Chat photo */ photo?: ChatPhoto; /** If non-empty, the list of all active chat usernames; for private chats, supergroups and channels */ active_usernames?: string[]; /** For private chats, the date of birth of the user */ birthdate?: Birthdate; /** For private chats with business accounts, the intro of the business */ business_intro?: BusinessIntro; /** For private chats with business accounts, the location of the business */ business_location?: BusinessLocation; /** For private chats with business accounts, the opening hours of the business */ business_opening_hours?: BusinessOpeningHours; /** For private chats, the personal channel of the user */ personal_chat?: Chat; /** List of available reactions allowed in the chat. If omitted, then all emoji reactions are allowed. */ available_reactions?: ReactionType[]; /** Custom emoji identifier of the emoji chosen by the chat for the reply header and link preview background */ background_custom_emoji_id?: string; /** Identifier of the accent color for the chat's profile background. See profile accent colors for more details. */ profile_accent_color_id?: number; /** Custom emoji identifier of the emoji chosen by the chat for its profile background */ profile_background_custom_emoji_id?: string; /** Custom emoji identifier of the emoji status of the chat or the other party in a private chat */ emoji_status_custom_emoji_id?: string; /** Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any */ emoji_status_expiration_date?: number; /** Bio of the other party in a private chat */ bio?: string; /** True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user */ has_private_forwards?: true; /** True, if the privacy settings of the other party restrict sending voice and video note messages in the private chat */ has_restricted_voice_and_video_messages?: true; /** True, if users need to join the supergroup before they can send messages */ join_to_send_messages?: undefined; /** True, if all users directly joining the supergroup without using an invite link need to be approved by supergroup administrators */ join_by_request?: undefined; /** Description, for groups, supergroups and channel chats */ description?: undefined; /** Primary invite link, for groups, supergroups and channel chats */ invite_link?: undefined; /** The most recent pinned message (by sending date) */ pinned_message?: Message; /** Default chat member permissions, for groups and supergroups */ permissions?: undefined; /** For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds */ slow_mode_delay?: undefined; /** For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions */ unrestrict_boost_count?: undefined; /** The time after which all messages sent to the chat will be automatically deleted; in seconds */ message_auto_delete_time?: number; /** True, if aggressive anti-spam checks are enabled in the supergroup. The field is only available to chat administrators. */ has_aggressive_anti_spam_enabled?: undefined; /** True, if non-administrators can only get the list of bots and administrators in the chat */ has_hidden_members?: undefined; /** True, if messages from the chat can't be forwarded to other chats */ has_protected_content?: true; /** True, if new chat members will have access to old messages; available only to chat administrators */ has_visible_history?: undefined; /** For supergroups, name of the group sticker set */ sticker_set_name?: undefined; /** True, if the bot can change the group sticker set */ can_set_sticker_set?: undefined; /** For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. */ custom_emoji_sticker_set_name?: undefined; /** Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. */ linked_chat_id?: undefined; /** For supergroups, the location to which the supergroup is connected */ location?: undefined; } /** Internal type for group chats */ export interface GroupChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "group"; /** Title, for supergroups, channels and group chats */ title?: string; /** Username, for private chats, supergroups and channels if available */ username?: undefined; /** First name of the other party in a private chat */ first_name?: undefined; /** Last name of the other party in a private chat */ last_name?: undefined; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: undefined; /** Identifier of the accent color for the chat name and backgrounds of the chat photo, reply header, and link preview. See accent colors for more details. */ accent_color_id: number; /** The maximum number of reactions that can be set on a message in the chat */ max_reaction_count: number; /** Chat photo */ photo?: ChatPhoto; /** If non-empty, the list of all active chat usernames; for private chats, supergroups and channels */ active_usernames?: undefined; /** For private chats, the date of birth of the user */ birthdate?: undefined; /** For private chats with business accounts, the intro of the business */ business_intro?: undefined; /** For private chats with business accounts, the location of the business */ business_location?: undefined; /** For private chats with business accounts, the opening hours of the business */ business_opening_hours?: undefined; /** For private chats, the personal channel of the user */ personal_chat?: undefined; /** List of available reactions allowed in the chat. If omitted, then all emoji reactions are allowed. */ available_reactions?: ReactionType[]; /** Custom emoji identifier of the emoji chosen by the chat for the reply header and link preview background */ background_custom_emoji_id?: string; /** Identifier of the accent color for the chat's profile background. See profile accent colors for more details. */ profile_accent_color_id?: number; /** Custom emoji identifier of the emoji chosen by the chat for its profile background */ profile_background_custom_emoji_id?: string; /** Custom emoji identifier of the emoji status of the chat or the other party in a private chat */ emoji_status_custom_emoji_id?: string; /** Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any */ emoji_status_expiration_date?: number; /** Bio of the other party in a private chat */ bio?: undefined; /** True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user */ has_private_forwards?: undefined; /** True, if the privacy settings of the other party restrict sending voice and video note messages in the private chat */ has_restricted_voice_and_video_messages?: undefined; /** True, if users need to join the supergroup before they can send messages */ join_to_send_messages?: undefined; /** True, if all users directly joining the supergroup without using an invite link need to be approved by supergroup administrators */ join_by_request?: undefined; /** Description, for groups, supergroups and channel chats */ description?: string; /** Primary invite link, for groups, supergroups and channel chats */ invite_link?: string; /** The most recent pinned message (by sending date) */ pinned_message?: Message; /** Default chat member permissions, for groups and supergroups */ permissions?: ChatPermissions; /** For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds */ slow_mode_delay?: undefined; /** For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions */ unrestrict_boost_count?: undefined; /** The time after which all messages sent to the chat will be automatically deleted; in seconds */ message_auto_delete_time?: number; /** True, if aggressive anti-spam checks are enabled in the supergroup. The field is only available to chat administrators. */ has_aggressive_anti_spam_enabled?: undefined; /** True, if non-administrators can only get the list of bots and administrators in the chat */ has_hidden_members?: true; /** True, if messages from the chat can't be forwarded to other chats */ has_protected_content?: true; /** True, if new chat members will have access to old messages; available only to chat administrators */ has_visible_history?: true; /** For supergroups, name of the group sticker set */ sticker_set_name?: undefined; /** True, if the bot can change the group sticker set */ can_set_sticker_set?: true; /** For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. */ custom_emoji_sticker_set_name?: undefined; /** Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. */ linked_chat_id?: undefined; /** For supergroups, the location to which the supergroup is connected */ location?: undefined; } /** Internal type for supergroup chats */ export interface SupergroupChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "supergroup"; /** Title, for supergroups, channels and group chats */ title?: string; /** Username, for private chats, supergroups and channels if available */ username?: string; /** First name of the other party in a private chat */ first_name?: undefined; /** Last name of the other party in a private chat */ last_name?: undefined; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: true; /** Identifier of the accent color for the chat name and backgrounds of the chat photo, reply header, and link preview. See accent colors for more details. */ accent_color_id: number; /** The maximum number of reactions that can be set on a message in the chat */ max_reaction_count: number; /** Chat photo */ photo?: ChatPhoto; /** If non-empty, the list of all active chat usernames; for private chats, supergroups and channels */ active_usernames?: string[]; /** For private chats, the date of birth of the user */ birthdate?: undefined; /** For private chats with business accounts, the intro of the business */ business_intro?: undefined; /** For private chats with business accounts, the location of the business */ business_location?: undefined; /** For private chats with business accounts, the opening hours of the business */ business_opening_hours?: undefined; /** For private chats, the personal channel of the user */ personal_chat?: undefined; /** List of available reactions allowed in the chat. If omitted, then all emoji reactions are allowed. */ available_reactions?: ReactionType[]; /** Custom emoji identifier of the emoji chosen by the chat for the reply header and link preview background */ background_custom_emoji_id?: string; /** Identifier of the accent color for the chat's profile background. See profile accent colors for more details. */ profile_accent_color_id?: number; /** Custom emoji identifier of the emoji chosen by the chat for its profile background */ profile_background_custom_emoji_id?: string; /** Custom emoji identifier of the emoji status of the chat or the other party in a private chat */ emoji_status_custom_emoji_id?: string; /** Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any */ emoji_status_expiration_date?: number; /** Bio of the other party in a private chat */ bio?: string; /** True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user */ has_private_forwards?: undefined; /** True, if the privacy settings of the other party restrict sending voice and video note messages in the private chat */ has_restricted_voice_and_video_messages?: undefined; /** True, if users need to join the supergroup before they can send messages */ join_to_send_messages?: true; /** True, if all users directly joining the supergroup without using an invite link need to be approved by supergroup administrators */ join_by_request?: true; /** Description, for groups, supergroups and channel chats */ description?: string; /** Primary invite link, for groups, supergroups and channel chats */ invite_link?: string; /** The most recent pinned message (by sending date) */ pinned_message?: Message; /** Default chat member permissions, for groups and supergroups */ permissions?: ChatPermissions; /** For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds */ slow_mode_delay?: number; /** For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions */ unrestrict_boost_count?: number; /** The time after which all messages sent to the chat will be automatically deleted; in seconds */ message_auto_delete_time?: number; /** True, if aggressive anti-spam checks are enabled in the supergroup. The field is only available to chat administrators. */ has_aggressive_anti_spam_enabled?: true; /** True, if non-administrators can only get the list of bots and administrators in the chat */ has_hidden_members?: true; /** True, if messages from the chat can't be forwarded to other chats */ has_protected_content?: true; /** True, if new chat members will have access to old messages; available only to chat administrators */ has_visible_history?: true; /** For supergroups, name of the group sticker set */ sticker_set_name?: string; /** True, if the bot can change the group sticker set */ can_set_sticker_set?: true; /** For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. */ custom_emoji_sticker_set_name?: string; /** Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. */ linked_chat_id?: number; /** For supergroups, the location to which the supergroup is connected */ location?: ChatLocation; } /** Internal type for channel chats */ export interface ChannelChat { /** Unique identifier for this chat. */ id: number; /** Type of the chat, can be either “private”, “group”, “supergroup” or “channel” */ type: "channel"; /** Title, for supergroups, channels and group chats */ title?: string; /** Username, for private chats, supergroups and channels if available */ username?: string; /** First name of the other party in a private chat */ first_name?: undefined; /** Last name of the other party in a private chat */ last_name?: undefined; /** True, if the supergroup chat is a forum (has topics enabled) */ is_forum?: undefined; /** Identifier of the accent color for the chat name and backgrounds of the chat photo, reply header, and link preview. See accent colors for more details. */ accent_color_id: number; /** The maximum number of reactions that can be set on a message in the chat */ max_reaction_count: number; /** Chat photo */ photo?: ChatPhoto; /** If non-empty, the list of all active chat usernames; for private chats, supergroups and channels */ active_usernames?: string[]; /** For private chats, the date of birth of the user */ birthdate?: undefined; /** For private chats with business accounts, the intro of the business */ business_intro?: undefined; /** For private chats with business accounts, the location of the business */ business_location?: undefined; /** For private chats with business accounts, the opening hours of the business */ business_opening_hours?: undefined; /** For private chats, the personal channel of the user */ personal_chat?: undefined; /** List of available reactions allowed in the chat. If omitted, then all emoji reactions are allowed. */ available_reactions?: ReactionType[]; /** Custom emoji identifier of the emoji chosen by the chat for the reply header and link preview background */ background_custom_emoji_id?: string; /** Identifier of the accent color for the chat's profile background. See profile accent colors for more details. */ profile_accent_color_id?: number; /** Custom emoji identifier of the emoji chosen by the chat for its profile background */ profile_background_custom_emoji_id?: string; /** Custom emoji identifier of the emoji status of the chat or the other party in a private chat */ emoji_status_custom_emoji_id?: string; /** Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any */ emoji_status_expiration_date?: number; /** Bio of the other party in a private chat */ bio?: undefined; /** True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user */ has_private_forwards?: undefined; /** True, if the privacy settings of the other party restrict sending voice and video note messages in the private chat */ has_restricted_voice_and_video_messages?: undefined; /** True, if users need to join the supergroup before they can send messages */ join_to_send_messages?: true; /** True, if all users directly joining the supergroup without using an invite link need to be approved by supergroup administrators */ join_by_request?: undefined; /** Description, for groups, supergroups and channel chats */ description?: string; /** Primary invite link, for groups, supergroups and channel chats */ invite_link?: string; /** The most recent pinned message (by sending date) */ pinned_message?: Message; /** Default chat member permissions, for groups and supergroups */ permissions?: undefined; /** For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds */ slow_mode_delay?: undefined; /** For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions */ unrestrict_boost_count?: undefined; /** The time after which all messages sent to the chat will be automatically deleted; in seconds */ message_auto_delete_time?: number; /** True, if aggressive anti-spam checks are enabled in the supergroup. The field is only available to chat administrators. */ has_aggressive_anti_spam_enabled?: undefined; /** True, if non-administrators can only get the list of bots and administrators in the chat */ has_hidden_members?: undefined; /** True, if messages from the chat can't be forwarded to other chats */ has_protected_content?: true; /** True, if new chat members will have access to old messages; available only to chat administrators */ has_visible_history?: undefined; /** For supergroups, name of the group sticker set */ sticker_set_name?: undefined; /** True, if the bot can change the group sticker set */ can_set_sticker_set?: undefined; /** For supergroups, the name of the group's custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group. */ custom_emoji_sticker_set_name?: undefined; /** Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. */ linked_chat_id?: number; /** For supergroups, the location to which the supergroup is connected */ location?: undefined; }}
/** This object contains full information about a chat. */export type ChatFullInfo = | ChatFullInfo.PrivateChat | ChatFullInfo.GroupChat | ChatFullInfo.SupergroupChat | ChatFullInfo.ChannelChat;/** @deprecated use ChatFullInfo instead */export type ChatFromGetChat = ChatFullInfo;
/** This object represent a user's profile pictures. */export interface UserProfilePhotos { /** Total number of profile pictures the target user has */ total_count: number; /** Requested profile pictures (in up to 4 sizes each) */ photos: PhotoSize[][];}
/** This object represents a chat photo. */export interface ChatPhoto { /** File identifier of small (160x160) chat photo. This file_id can be used only for photo download and only for as long as the photo is not changed. */ small_file_id: string; /** Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file. */ small_file_unique_id: string; /** File identifier of big (640x640) chat photo. This file_id can be used only for photo download and only for as long as the photo is not changed. */ big_file_id: string; /** Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file. */ big_file_unique_id: string;}
/** Represents an invite link for a chat. */export interface ChatInviteLink { /** The invite link. If the link was created by another chat administrator, then the second part of the link will be replaced with "...". */ invite_link: string; /** Creator of the link */ creator: User; /** True, if users joining the chat via the link need to be approved by chat administrators */ creates_join_request: boolean; /** True, if the link is primary */ is_primary: boolean; /** True, if the link is revoked */ is_revoked: boolean; /** Invite link name */ name?: string; /** Point in time (Unix timestamp) when the link will expire or has been expired */ expire_date?: number; /** The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999 */ member_limit?: number; /** Number of pending join requests created using this link */ pending_join_request_count?: number;}
/** Represents the rights of an administrator in a chat. */export interface ChatAdministratorRights { /** True, if the user's presence in the chat is hidden */ is_anonymous: boolean; /** True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege. */ can_manage_chat: boolean; /** True, if the administrator can delete messages of other users */ can_delete_messages: boolean; /** True, if the administrator can manage video chats */ can_manage_video_chats: boolean; /** True, if the administrator can restrict, ban or unban chat members, or access supergroup statistics */ can_restrict_members: boolean; /** 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 the user) */ can_promote_members: boolean; /** True, if the user is allowed to change the chat title, photo and other settings */ can_change_info: boolean; /** True, if the user is allowed to invite new users to the chat */ can_invite_users: boolean; /** True, if the administrator can post stories to the chat */ can_post_stories: boolean; /** 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_edit_stories: boolean; /** True, if the administrator can delete stories posted by other users */ can_delete_stories: boolean; /** True, if the administrator can post messages in the channel, or access channel statistics; for channels only */ can_post_messages?: boolean; /** True, if the administrator can edit messages of other users and can pin messages; for channels only */ can_edit_messages?: boolean; /** True, if the user is allowed to pin messages; for groups and supergroups only */ can_pin_messages?: boolean; /** True, if the user is allowed to create, rename, close, and reopen forum topics; for supergroups only */ can_manage_topics?: boolean;}
/** This object represents changes in the status of a chat member. */export interface ChatMemberUpdated { /** Chat the user belongs to */ chat: Chat; /** Performer of the action, which resulted in the change */ from: User; /** Date the change was done in Unix time */ date: number; /** Previous information about the chat member */ old_chat_member: ChatMember; /** New information about the chat member */ new_chat_member: ChatMember; /** Chat invite link, which was used by the user to join the chat; for joining by invite link events only. */ invite_link?: ChatInviteLink; /** True, if the user joined the chat after sending a direct join request without using an invite link without using an invite link and being approved by an administrator */ via_join_request?: boolean; /** True, if the user joined the chat via a chat folder invite link */ via_chat_folder_invite_link?: boolean;}
/** This object contains information about one member of a chat. Currently, the following 6 types of chat members are supported:- ChatMemberOwner- ChatMemberAdministrator- ChatMemberMember- ChatMemberRestricted- ChatMemberLeft- ChatMemberBanned */export type ChatMember = | ChatMemberOwner | ChatMemberAdministrator | ChatMemberMember | ChatMemberRestricted | ChatMemberLeft | ChatMemberBanned;
/** Represents a chat member that owns the chat and has all administrator privileges. */export interface ChatMemberOwner { /** The member's status in the chat, always “creator” */ status: "creator"; /** Information about the user */ user: User; /** True, if the user's presence in the chat is hidden */ is_anonymous: boolean; /** Custom title for this user */ custom_title?: string;}
/** Represents a chat member that has some additional privileges. */export interface ChatMemberAdministrator { /** The member's status in the chat, always “administrator” */ status: "administrator"; /** Information about the user */ user: User; /** True, if the bot is allowed to edit administrator privileges of that user */ can_be_edited: boolean; /** True, if the user's presence in the chat is hidden */ is_anonymous: boolean; /** True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages and ignore slow mode. Implied by any other administrator privilege. */ can_manage_chat: boolean; /** True, if the administrator can delete messages of other users */ can_delete_messages: boolean; /** True, if the administrator can manage video chats */ can_manage_video_chats: boolean; /** True, if the administrator can restrict, ban or unban chat members, or access supergroup statistics */ can_restrict_members: boolean; /** 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 the user) */ can_promote_members: boolean; /** True, if the user is allowed to change the chat title, photo and other settings */ can_change_info: boolean; /** True, if the user is allowed to invite new users to the chat */ can_invite_users: boolean; /** True, if the administrator can post stories to the chat */ can_post_stories: boolean; /** 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_edit_stories: boolean; /** True, if the administrator can delete stories posted by other users */ can_delete_stories: boolean; /** True, if the administrator can post messages in the channel, or access channel statistics; for channels only */ can_post_messages?: boolean; /** True, if the administrator can edit messages of other users and can pin messages; for channels only */ can_edit_messages?: boolean; /** True, if the user is allowed to pin messages; for groups and supergroups only */ can_pin_messages?: boolean; /** True, if the user is allowed to create, rename, close, and reopen forum topics; for supergroups only */ can_manage_topics?: boolean; /** Custom title for this user */ custom_title?: string;}
/** Represents a chat member that has no additional privileges or restrictions. */export interface ChatMemberMember { /** The member's status in the chat, always “member” */ status: "member"; /** Information about the user */ user: User;}
/** Represents a chat member that is under certain restrictions in the chat. Supergroups only. */export interface ChatMemberRestricted { /** The member's status in the chat, always “restricted” */ status: "restricted"; /** Information about the user */ user: User; /** True, if the user is a member of the chat at the moment of the request */ is_member: boolean; /** True, if the user is allowed to send text messages, contacts, giveaways, giveaway winners, invoices, locations and venues */ can_send_messages: boolean; /** True, if the user is allowed to send audios */ can_send_audios: boolean; /** True, if the user is allowed to send documents */ can_send_documents: boolean; /** True, if the user is allowed to send photos */ can_send_photos: boolean; /** True, if the user is allowed to send videos */ can_send_videos: boolean; /** True, if the user is allowed to send video notes */ can_send_video_notes: boolean; /** True, if the user is allowed to send voice notes */ can_send_voice_notes: boolean; /** True, if the user is allowed to send polls */ can_send_polls: boolean; /** True, if the user is allowed to send animations, games, stickers and use inline bots */ can_send_other_messages: boolean; /** True, if the user is allowed to add web page previews to their messages */ can_add_web_page_previews: boolean; /** True, if the user is allowed to change the chat title, photo and other settings */ can_change_info: boolean; /** True, if the user is allowed to invite new users to the chat */ can_invite_users: boolean; /** True, if the user is allowed to pin messages */ can_pin_messages: boolean; /** True, if the user is allowed to create forum topics */ can_manage_topics: boolean; /** Date when restrictions will be lifted for this user; Unix time. If 0, then the user is restricted forever */ until_date: number;}
/** Represents a chat member that isn't currently a member of the chat, but may join it themselves. */export interface ChatMemberLeft { /** The member's status in the chat, always “left” */ status: "left"; /** Information about the user */ user: User;}
/** Represents a chat member that was banned in the chat and can't return to the chat or view chat messages. */export interface ChatMemberBanned { /** The member's status in the chat, always “kicked” */ status: "kicked"; /** Information about the user */ user: User; /** Date when restrictions will be lifted for this user; Unix time. If 0, then the user is banned forever */ until_date: number;}
/** Represents a join request sent to a chat. */export interface ChatJoinRequest { /** Chat to which the request was sent */ chat: Chat.SupergroupChat | Chat.ChannelChat; /** User that sent the join request */ from: User; /** Identifier of a private chat with the user who sent the join request. The bot can use this identifier for 5 minutes to send messages until the join request is processed, assuming no other administrator contacted the user. */ user_chat_id: number; /** Date the request was sent in Unix time */ date: number; /** Bio of the user. */ bio?: string; /** Chat invite link that was used by the user to send the join request */ invite_link?: ChatInviteLink;}
/** Describes actions that a non-administrator user is allowed to take in a chat. */export interface ChatPermissions { /** True, if the user is allowed to send text messages, contacts, giveaways, giveaway winners, invoices, locations and venues */ can_send_messages?: boolean; /** True, if the user is allowed to send audios */ can_send_audios?: boolean; /** True, if the user is allowed to send documents */ can_send_documents?: boolean; /** True, if the user is allowed to send photos */ can_send_photos?: boolean; /** True, if the user is allowed to send videos */ can_send_videos?: boolean; /** True, if the user is allowed to send video notes */ can_send_video_notes?: boolean; /** True, if the user is allowed to send voice notes */ can_send_voice_notes?: boolean; /** True, if the user is allowed to send polls */ can_send_polls?: boolean; /** True, if the user is allowed to send animations, games, stickers and use inline bots */ can_send_other_messages?: boolean; /** True, if the user is allowed to add web page previews to their messages */ can_add_web_page_previews?: boolean; /** True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups */ can_change_info?: boolean; /** True, if the user is allowed to invite new users to the chat */ can_invite_users?: boolean; /** True, if the user is allowed to pin messages. Ignored in public supergroups */ can_pin_messages?: boolean; /** True, if the user is allowed to create forum topics. If omitted defaults to the value of can_pin_messages */ can_manage_topics?: boolean;}
/** Describes the birthdate of a user. */export interface Birthdate { /** Day of the user's birth; 1-31 */ day: number; /** Month of the user's birth; 1-12 */ month: number; /** Year of the user's birth */ year?: number;}
/** Contains information about the start page settings of a Telegram Business account. */export interface BusinessIntro { /** Title text of the business intro */ title?: string; /** Message text of the business intro */ message?: string; /** Sticker of the business intro */ sticker?: Sticker;}
/** Contains information about the location of a Telegram Business account. */export interface BusinessLocation { /** Address of the business */ address: string; /** Location of the business */ location?: Location;}
/** Describes an interval of time during which a business is open. */export interface BusinessOpeningHoursInterval { /** The minute's sequence number in a week, starting on Monday, marking the start of the time interval during which the business is open; 0 - 7 * 24 * 60 */ opening_minute: number; /** The minute's sequence number in a week, starting on Monday, marking the end of the time interval during which the business is open; 0 - 8 * 24 * 60 */ closing_minute: number;}
/** Describes the opening hours of a business. */export interface BusinessOpeningHours { /** Unique name of the time zone for which the opening hours are defined */ time_zone_name: string; /** List of time intervals describing business opening hours */ opening_hours: BusinessOpeningHoursInterval[];}
/** Represents a location to which a chat is connected. */export interface ChatLocation { /** The location to which the supergroup is connected. Can't be a live location. */ location: Location; /** Location address; 1-64 characters, as defined by the chat owner */ address: string;}
/** This object represents a forum topic. */export interface ForumTopic { /** Unique identifier of the forum topic */ message_thread_id: number; /** Name of the topic */ name: string; /** Color of the topic icon in RGB format */ icon_color: number; /** Unique identifier of the custom emoji shown as the topic icon */ icon_custom_emoji_id?: string;}
/** This object represents a bot command. */export interface BotCommand { /** Text of the command; 1-32 characters. Can contain only lowercase English letters, digits and underscores. */ command: string; /** Description of the command; 1-256 characters. */ description: string;}
/** This object describes the source of a chat boost. It can be one of
- ChatBoostSourcePremium- ChatBoostSourceGiftCode- ChatBoostSourceGiveaway */export type ChatBoostSource = | ChatBoostSourcePremium | ChatBoostSourceGiftCode | ChatBoostSourceGiveaway;
/** The boost was obtained by subscribing to Telegram Premium or by gifting a Telegram Premium subscription to another user. */export interface ChatBoostSourcePremium { /** Source of the boost, always “premium” */ source: "premium"; /** User that boosted the chat */ user: User;}
/** The boost was obtained by the creation of Telegram Premium gift codes to boost a chat. Each such code boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription. */export interface ChatBoostSourceGiftCode { /** Source of the boost, always “gift_code” */ source: "gift_code"; /** User for which the gift code was created */ user: User;}
/** The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription. */export interface ChatBoostSourceGiveaway { /** Source of the boost, always “giveaway” */ source: "giveaway"; /** Identifier of a message in the chat with the giveaway; the message could have been deleted already */ giveaway_message_id: number; /** User that won the prize in the giveaway if any */ user?: User; /** True, if the giveaway was completed, but there was no user to win the prize */ is_unclaimed?: true;}
/** This object contains information about a chat boost. */export interface ChatBoost { /** Unique identifier of the boost */ boost_id: string; /** Point in time (Unix timestamp) when the chat was boosted */ add_date: number; /** Point in time (Unix timestamp) when the boost will automatically expire, unless the booster's Telegram Premium subscription is prolonged */ expiration_date: number; /** Source of the added boost */ source: ChatBoostSource;}
/** This object represents a boost added to a chat or changed. */export interface ChatBoostUpdated { /** Chat which was boosted */ chat: Chat; /** Information about the chat boost */ boost: ChatBoost;}
/** This object represents a boost removed from a chat. */export interface ChatBoostRemoved { /** Chat which was boosted */ chat: Chat; /** Unique identifier of the boost */ boost_id: string; /** Point in time (Unix timestamp) when the boost was removed */ remove_date: number; /** Source of the removed boost */ source: ChatBoostSource;}
/** This object represents a list of boosts added to a chat by a user. */export interface UserChatBoosts { /** The list of boosts added to the chat by the user */ boosts: ChatBoost[];}
/** Describes the connection of the bot with a business account. */export interface BusinessConnection { /** Unique identifier of the business connection */ id: string; /** Business account user that created the business connection */ user: User; /** Identifier of a private chat with the user who created the business connection. */ user_chat_id: number; /** Date the connection was established in Unix time */ date: number; /** True, if the bot can act on behalf of the business account in chats that were active in the last 24 hours */ can_reply: boolean; /** True, if the connection is active */ is_enabled: boolean;}
/** This object is received when messages are deleted from a connected business account. */export interface BusinessMessagesDeleted { /** Unique identifier of the business connection */ business_connection_id: string; /** Information about a chat in the business account. The bot may not have access to the chat or the corresponding user. */ chat: Chat.PrivateChat; /** The list of identifiers of deleted messages in the chat of the business account */ message_ids: number[];}