typescript-telegram-bot-api
Version:
Telegram Bot API wrapper for Node.js written in TypeScript
72 lines (71 loc) • 3.48 kB
TypeScript
import { CallbackGame, WebAppInfo, LoginUrl, SwitchInlineQueryChosenChat, CopyTextButton } from './';
/**
* ## InlineKeyboardButton
* This object represents one button of an inline keyboard. Exactly one of the optional fields must be used to specify
* type of the button.
* @see https://core.telegram.org/bots/api#inlinekeyboardbutton
*/
export type InlineKeyboardButton = {
/**
* Label text on the button
*/
text: string;
/**
* Optional. HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id=<user_id> can be used to
* mention a user by their identifier without using a username, if this is allowed by their privacy settings.
*/
url?: string;
/**
* Optional. Data to be sent in a callback query to the bot when the button is pressed, 1-64 bytes
*/
callback_data?: string;
/**
* Optional. Description of the Web App that will be launched when the user presses the button. The Web App will be
* able to send an arbitrary message on behalf of the user using the method answerWebAppQuery. Available only in
* private chats between a user and the bot. Not supported for messages sent on behalf of a Telegram Business account.
*/
web_app?: WebAppInfo;
/**
* Optional. An HTTPS URL used to automatically authorize the user. Can be used as a replacement for the Telegram
* Login Widget.
*/
login_url?: LoginUrl;
/**
* Optional. If set, pressing the button will prompt the user to select one of their chats, open that chat and insert
* the bot's username and the specified inline query in the input field. May be empty, in which case just the bot's
* username will be inserted. Not supported for messages sent on behalf of a Telegram Business account.
*/
switch_inline_query?: string;
/**
* Optional. If set, pressing the button will insert the bot's username and the specified inline query in the current
* chat's input field. May be empty, in which case only the bot's username will be inserted.
*
* This offers a quick way for the user to open your bot in inline mode in the same chat - good for selecting
* something from multiple options. Not supported in channels and for messages sent on behalf of a Telegram Business
* account.
*/
switch_inline_query_current_chat?: string;
/**
* Optional. If set, pressing the button will prompt the user to select one of their chats of the specified type, open
* that chat and insert the bot's username and the specified inline query in the input field. Not supported for
* messages sent on behalf of a Telegram Business account.
*/
switch_inline_query_chosen_chat?: SwitchInlineQueryChosenChat;
/**
* Optional. Description of the button that copies the specified text to the clipboard.
*/
copy_text?: CopyTextButton;
/**
* Optional. Description of the game that will be launched when the user presses the button.
* NOTE: This type of button must always be the first button in the first row.
*/
callback_game?: CallbackGame;
/**
* Optional. Specify True, to send a Pay button. Substrings “⭐” and “XTR” in the buttons's text will be replaced with
* a Telegram Star icon.
*
* NOTE: This type of button must always be the first button in the first row and can only be used in invoice
* messages.
*/
pay?: boolean;
};