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 はボットの名前とユーザー名を尋ねます。実際、username
はボットと通信するチャット ルームです。 Telegram ボットが正常に作成されると、BotFather はボットと通信するための引数であるトークン
を提供します。
トークンは、Telegram API を使用してボットを制御するための最も基本的な認証情報です。したがって、公開されないように慎重に書き留めてください。
Telegram getUpdates API 呼び出し - chatid
BotFather がボットを作成した場合は、Telegram でボットを見つけてメッセージを送信します。 こんにちは
とメッセージを送りました。
Telegram - Bot チャット ルームにhello
と入力してください
次に、Chrome や Edge などの使用する Web ブラウザーで、上記のボットの作成時に見つかったトークンと組み合わせて、以下の 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 は次のとおりで、上記の手順で見つかったトークンとチャット ID を使用して 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
というメッセージを確認することができました。