创建 Telegram 机器人并发送消息
Telegram提供了相对容易使用的API服务。因此,它可以用作通知 CI/CD 系统中的事件的简单工具,其中安全性不是主要问题。我正在尝试将 Telegram 集成到 Jenkins 系统中,我想介绍一下创建 Telegram 机器人的基本方法。
概述
要发送 Telegram 消息,需要与 Telegram 机器人匹配的token
和指示聊天室的chatid
。
token
:您在 Telegram 中创建机器人时可以看到这个chatid
:找到令牌后,您可以使用令牌调用 Telegram APIgetUpdates
来找到它。
总之,如果您同时找到了token
和chatid
,则可以通过调用以下 URL 向 Telegram 聊天室发送一条im bot
消息。
1
2
3
4
5
6
7
https://api.telegram.org/bot<token>/sendMessage?chat_id=<chatid>&text=im bot
# example
- token: 6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb
- chatid : 1230000000
https://api.telegram.org/bot6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb/sendMessage?chat_id=1230000000&text=im bot
创建 Telegram 机器人 - 令牌
在 Telegram 上找到botfather
并进入聊天室。 BotFather 是一个服务机器人,可以创建/管理 Telegram 机器人。
使用newbot
命令创建一个新机器人。
BotFather 询问机器人的名称和用户名。实际上,用户名
是您与机器人进行通信的聊天室。如果成功创建 Telegram 机器人,BotFather 会提供一个令牌
,它是与机器人通信的参数。
Token是使用Telegram API控制机器人的最基本凭证。因此,请仔细记录下来,以免被公开。
Telegram getUpdates API 调用 - chatid
如果 BotFather 创建了一个机器人,请在 Telegram 中找到该机器人并向其发送消息。我发了一条消息说你好
。
然后,在您使用的 Web 浏览器(例如 Chrome 或 Edge)中,通过将下面的 URL 与创建上面的机器人时找到的令牌相结合来调用下面的 URL。
1
2
3
4
5
6
7
https://api.telegram.org/bot<token>/getUpdates
# example
- token: 6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb
https://api.telegram.org/bot6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb/getUpdates
然后浏览器中会显示一个JSON格式的字符串,chat
中的id
就是chatid
。注意chatid
。如果您使用 Edge 浏览器,您可以看到行对齐的 JSON 字符串。
互联网浏览器 - Telegram - getUpdates
通过浏览器发送 Telegram 消息 - sendMessage API
总之,我们将使用 Jenkins 插件发送 Telegram 消息,但出于测试目的,我们将使用 sendMessage
Telegram API 将消息发送到浏览器。
API如下,您可以使用上述步骤中找到的token和chatid发送Telegram消息。
1
2
3
4
5
6
7
https://api.telegram.org/bot<token>/sendMessage?chat_id=<chatid>&text=im bot
# example
- token: 6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb
- chatid : 1230000000
https://api.telegram.org/bot6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb/sendMessage?chat_id=1230000000&text=im bot
效果好吗?我能够在 Telegram 上查看消息im bot
,如下所示。