前言

  • 在部署某个开源项目到 NAS 上的时候,发现其中集成了通过 Telegram Bot 实现消息推送的功能,同时,对我来说,这个服务的消息推送还是挺重要的,所以浅浅记录一下 Bot 的创建和关键字段的获取
  • 当然也有其他具有 Bot 的平台,例如微信、飞书和钉钉……(需要的时候再试试看)

创建过程

添加 BotFather 机器人

  • 在 Telegram 中搜索 BotFather 或者直接访问 Link 来添加聊天
  • 在与 BotFather 的对话界面中,可以使用 /start 查看帮助

创建 Bot

  • 输入 /newbot 后,会收到回复,表示需要一个机器人名称,这里看个人喜好进行取名。(注意,这里的名称是在 Telegram 对话界面显示的名字)
  • 给出机器人名称后,会显示要输入以 bot 或者 _bot 结尾的 唯一的机器人用户名,例如可以是 ABC_bot
  • 成功后,会给出一个 URL,点击后即可看到 Bot 的聊天添加页面
  • 此外,还有一段 HTTP API 用于控制 Bot,请保护好这个 token

获取 chat_id

  • 构造以下 URL 并访问(请注意使用上面的 token 替换 {token},包括大括号)
    • https://api.telegram.org/bot{token}/getUpdates
  • 正常情况下会显示如下内容,若显示 error 则看看是否存在步骤出错
    {
    “ok”: true,
    “result”: []
    }
  • 在 Telegram 聊天界面,向添加的 Bot 发送条消息,例如 Hello World,并重新访问 https://api.telegram.org/bot{token}/getUpdates (注意替换)
  • 正常情况下,会出现以下内容,所需的 chat_id 就是在 chat 字段中的 id 键值对,
    ……
    ……
    ……
    "chat": {
    "id": **********,
    "first_name": "**",
    "last_name": "********",
    ……
    },
    ……
    ……
    ……

手动测试

  • 在本地机器终端上,使用 curl 传段文本进行测试,注意替换 {token}{chatId}
    curl -s -X POST https://api.telegram.org/bot{token}/sendMessage -d chat_id={chatId} -d text="Hello World"
  • 此时在 Telegram 客户端中,能收到来自 Bot 发的消息,此时 Bot 的创建和关键字段的收集就完成了

参考