Умный и простой способ программирования бот-меню Telegram - PullRequest
0 голосов
/ 20 ноября 2018

Я бы хотел запрограммировать бота Telegram в Node.js и Typescript.После получения команды запуска бот должен взаимодействовать с одним реактивным меню - в основном что-то вроде меню редактирования ботов BotFather.Для простоты бот должен обрабатывать только разговоры с одним пользователем (без групп, встроенных сообщений и т. Д.).

Здесь термин menu означает одно сообщение с реагирующим сообщением.текст и кнопки.Текст обновляется в соответствии с историческим выбором пользователя в различных подменю, как и кнопки.

Утомительные части, от которых я пытаюсь избавиться, и абстрагирование от них:

  1. Кодирование каждой кнопки и каждого идентификатора меню в callback_data (callback_data ограничен 64 байтами, поэтому он даже получаетхуже).
  2. Расшифровка каждого входящего запроса обратного вызова для определения, какая кнопка была нажата в каком меню.
  3. Вручную отправьте следующее меню соответственно.

Короче говоря, я хочу сосредоточиться прежде всего на кодировании меню и переходов.В идеале это должно быть похоже на программирование статического одностраничного приложения React.

После экспериментов с несколькими платформами я выбрал node-telegram-bot-api.Так как я хочу построить его самостоятельно, Manybot не вариант.

При проверке Google и аналогичных вопросов Stackoverflow самое близкое, что я нашел, это http://github.com/bvn13/TelegramInlineMultipageMenu. Кроме того, не похоже, что любая платформа, упомянутая в https://core.telegram.org/bots/samples, предлагает такую ​​абстракцию.

...