趣旨
テレグラムでサーバーから通知があれば便利だと思ったので最も基本的なテレグラムBotの構築方法を紹介します。
応用すれば色々使い道はあると思うので私としては備忘録として再利用するつもりです。
今回の例ではPythonからテレグラムの自分のアカウントに対してメッセージを送るだけですが、自分のアカウントからテレグラムBotにメッセージを送って、そのメッセージの内容に応じてPythonプログラムを起動させることも多分簡単にできます。
ステップ1: Telegramボットを作成する
Telegramアプリで@BotFatherを検索し、チャットを開始します。
新しいボットを作成する:BotFatherに/newbotコマンドを送信し、指示に従います。
ボットの名前とユーザーネームを選択する必要があります。
ボットの作成後、BotFatherがAPIトークンを提供してくれます。
ステップ2: チャットIDを見つける
Telegramでボットのユーザーネームを検索し、チャットを開始します。
ボットにメッセージを送信し、ブラウザでhttps://api.telegram.org/bot<YourBOTToken>/getUpdates
にアクセスしてください。
ただしの部分をボットのAPIトークンに置き換えます。
JSONレスポンスで"chat":{"id":の部分を探します。
これがチャットIDです。
ステップ3: メッセージをPythonからテレグラムに送る
ライブラリをインストールします。
pip install python-telegram-bot
端的に説明するとbotのインスタンスを作って、send_telegram_message()関数を呼び出すときにセットした引数をテレグラムに送信する、という流れです。
from telegram import Bot
token = 'YOUR_BOT_TOKEN' // APIキーを入力します。
chat_id = 'YOUR_CHAT_ID' // ChatIDを入力します。
bot = Bot(token)
def send_telegram_message(message):
bot.send_message(chat_id=chat_id, text=message)
# Example usage
send_telegram_message('Hello from Python!')