Telegram 推送通知配置指南

配置原理与接口结构

Telegram 消息推送基于 Telegram Bot API 实现。完整的推送 URL 由 Bot Token(机器人访问密钥)Chat ID(接收端唯一标识) 拼接而成。

标准拼接模板:

[https://api.telegram.org/bot](https://api.telegram.org/bot)<TOKEN>/sendMessage?chat_id=<CHAT_ID>

获取步骤

步骤 1:创建机器人并获取 Bot Token

  1. 打开 Telegram,在搜索栏输入并关注官方机器人 @BotFather
  2. @BotFather 发送命令:/newbot
  3. 根据提示依次输入:
    • Bot Name:机器人的显示名称(例如:通知助手)。
    • Bot Username:机器人的唯一用户名(必须以 bot 结尾,例如:my_notice_bot)。
  4. 创建成功后,@BotFather 将输出 API 访问凭证。复制 HTTP API Token 字符串(格式如 123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ)。

步骤 2:获取接收端 Chat ID

根据消息接收对象类型(个人或群组),选择对应的获取方式:

方案 A:个人接收通知

  • 方法一:通过官方查询机器人(推荐)
    1. 在 Telegram 中搜索并关注 @userinfobot
    2. 向其发送任意消息或点击 /start
    3. 机器人将返回个人账号元数据,其中 Id 后方的纯数字即为您的个人 Chat ID(例如:987654321)。
  • 方法二:通过 API 接口查询
    1. 主动向您刚创建的机器人发送一条消息(例如:hello)以激活对话。
    2. 打开浏览器,访问以下链接(将 <TOKEN> 替换为步骤 1 获取的凭证):
       [https://api.telegram.org/bot](https://api.telegram.org/bot)<TOKEN>/getUpdates
    3. 在返回的 JSON 响应中,提取 "result" -> "message" -> "chat" -> "id" 的数值。

方案 B:群组/频道接收通知

  1. 将新创建的机器人拉入目标 Telegram 群组。
  2. 在群组内发送一条任意消息(例如:test),或赋予机器人管理员权限。
  3. 在浏览器中访问以下链接(将 <TOKEN> 替换为步骤 1 获取的凭证):
     [https://api.telegram.org/bot](https://api.telegram.org/bot)<TOKEN>/getUpdates
  4. 在返回的 JSON 响应中,找到包含对应群组名称的记录,提取 "chat" -> "id" 字段。

    注意:群组的 Chat ID 通常为以 --100 开头的负数(例如:-100123456780),拼接时必须完整保留负号及前缀。


三、 URL 拼接示例

获得 <TOKEN><CHAT_ID> 后,请将其代入标准模板中进行替换:

1. 个人通知 URL 示例

  • Token: 8832838494:AAGb7ReOvyhcbkh03uXMN01nkSNBW9LuL6t
  • Chat ID: 987654321
  • 最终拼接结果
    [https://api.telegram.org/bot8832838494:AAGb7ReOvyhcbkh03uXMN01nkSNBW9LuL6t/sendMessage?chat_id=987654321](https://api.telegram.org/bot8832838494:AAGb7ReOvyhcbkh03uXMN01nkSNBW9LuL6t/sendMessage?chat_id=987654321)

2. 群组通知 URL 示例

  • Token: 8832838494:AAGb7ReOvyhcbkh03uXMN01nkSNBW9LuL6t
  • Chat ID: -7
  • 最终拼接结果
    [https://api.telegram.org/bot8832838494:AAGb7ReOvyhcbkh03uXMN01nkSNBW9LuL6t/sendMessage?chat_id=-100123456780](https://api.telegram.org/bot8832838494:AAGb7ReOvyhcbkh03uXMN01nkSNBW9LuL6t/sendMessage?chat_id=-100123456780)