tgsnake
Version:
Telegram MTProto framework for nodejs.
53 lines (52 loc) • 1.71 kB
TypeScript
import { Raw } from '../../platform.node.js';
import type { Snake } from '../../Client/index.js';
export type TypeReplyMarkup = inlineKeyboard | replyKeyboard | removeKeyboard | forceReplyMarkup;
export interface forceReplyMarkup {
forceReply: boolean;
inputFieldPlaceholder?: string;
selective?: boolean;
singleUse?: boolean;
}
export interface removeKeyboard {
removeKeyboard: boolean;
selective?: boolean;
}
export interface replyKeyboard {
keyboard: replyKeyboardButton[][] | string[][];
resizeKeyboard?: boolean;
oneTimeKeyboard?: boolean;
inputFieldPlaceholder?: string;
selective?: boolean;
}
export interface replyKeyboardButton {
text: string;
requestContact?: boolean;
requestLocation?: boolean;
requestPoll?: 'regular' | 'quiz';
}
export interface inlineKeyboard {
inlineKeyboard: inlineKeyboardButton[][];
}
export interface inlineKeyboardButton {
text: string;
url?: string;
loginUrl?: loginUrl;
callbackData?: string;
switchInlineQuery?: string;
switchInlineQueryCurrentChat?: string;
callbackGame?: string;
buy?: string;
webApp?: string;
}
export interface loginUrl {
requestWriteAccess?: boolean;
forwardText?: string;
url: string;
bot: BotLoginUrl;
}
export interface BotLoginUrl {
id: bigint;
accessHash: bigint;
}
export declare function buildReplyMarkup(replyMarkup: TypeReplyMarkup, snakeClient: Snake): Promise<Raw.ReplyInlineMarkup | Raw.ReplyKeyboardMarkup | Raw.ReplyKeyboardHide | Raw.ReplyKeyboardForceReply | undefined>;
export declare function convertReplyMarkup(replyMarkup: Raw.TypeReplyMarkup, SnakeClient: Snake): Promise<TypeReplyMarkup | undefined>;