Abstract
class TemplateButtonTypes Шаблонный класс для работы с кнопками в различных платформах
Используется для унификации работы с кнопками в разных платформах:
class AlisaButton extends TemplateButtonTypes { public getButtons(): any { return this.buttons.map(button => ({ title: button.title, url: button.url })); }}class TelegramButton extends TemplateButtonTypes { public getButtons(): any { return { inline_keyboard: this.buttons.map(button => [{ text: button.title, callback_data: button.url }]) }; }} Copy
class AlisaButton extends TemplateButtonTypes { public getButtons(): any { return this.buttons.map(button => ({ title: button.title, url: button.url })); }}class TelegramButton extends TemplateButtonTypes { public getButtons(): any { return { inline_keyboard: this.buttons.map(button => [{ text: button.title, callback_data: button.url }]) }; }}
Конструктор класса
Инициализирует пустой массив кнопок
Массив кнопок для отображения
const buttonHandler = new AlisaButton();buttonHandler.buttons = [ new Button('Открыть сайт', 'https://example.com'), new Button('Позвонить', 'tel:+79001234567')]; Copy
const buttonHandler = new AlisaButton();buttonHandler.buttons = [ new Button('Открыть сайт', 'https://example.com'), new Button('Позвонить', 'tel:+79001234567')];
Получение массива кнопок в формате, специфичном для платформы
const buttonHandler = new AlisaButton();buttonHandler.buttons = [ new Button('Открыть сайт', 'https://example.com')];const result = buttonHandler.getButtons();// result: [{ title: 'Открыть сайт', url: 'https://example.com' }] Copy
const buttonHandler = new AlisaButton();buttonHandler.buttons = [ new Button('Открыть сайт', 'https://example.com')];const result = buttonHandler.getButtons();// result: [{ title: 'Открыть сайт', url: 'https://example.com' }]
class TemplateButtonTypes Шаблонный класс для работы с кнопками в различных платформах
Используется для унификации работы с кнопками в разных платформах:
Example