我想在Node.js和Typescript中编写一个Telegram bot . 收到启动命令后,机器人应该与单个反应菜单通信 - 基本上类似于BotFather的编辑机器人菜单 . 为简单起见,机器人应该单独处理与单个用户的对话(没有组,内联消息等) .

这里,术语 menu 表示具有被动文本和按钮的单个消息 . 根据各种子菜单中的用户历史选择更新文本,按钮也是如此 .

我试图摆脱和抽象的乏味部分是:

  • 在callback_data中编码每个按钮和每个菜单标识符(callback_data限制为64字节,因此它甚至变得更糟) .

  • 解码每个传入的回调查询以确定在哪个菜单中按下了哪个按钮 .

  • 手动发送相应的下一个菜单 .

简而言之,我想主要关注编码菜单和转换 . 理想情况下,它应该像编写静态React单页面应用程序一样 .

在试验了几个平台后,我选择了node-telegram-bot-api . 因为我想自己构建Manybot不是一个选择 .

检查谷歌和类似的Stackoverflow问题,我发现最接近的是http://github.com/bvn13/TelegramInlineMultipageMenu . 此外,它看起来不像_611224中提到的任何平台提供抽象 .