最短の準備時間でPythonのスクリプトからスマホとかApple watchのTelegramに通知を飛ばす方法

Telegramを使います。(LINEは宗教上の理由から使えません)

Telegramの@BotFatherにJOINして、ボット名を決めると、そのボットのためトークンを返してくれます。
トークンは、DDDDDDDDDD:CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC(Dは十進数で、Cは文字)のような文字列です。これを以下は[token]とします。

次に@RawDataBotなどを使って、自分のチャットIDを調べます。9桁の十進数でした。これを以下は[chat_id]とします。

以上の情報を使って、https://api.telegram.org/bot[token]/sendmessage?chat_id=[chat_id]&text=[text]をGETすると、ほぼノーウェイトで[text]が自分のチャットに送られます。知った時は、「え、こんな簡単でいいの?」と思いました。

追記:最近気づいたのですが、この方法はクライアントからボットをシークレットチャットの相手に追加しておかないとダメです。間違えてボット相手のチャットを削除してしまうと、メッセージを受け取れなくなるので注意してください。

これを関数にするとこんな感じです。

def telegram_send(message):
    tele_url = "https://api.telegram.org/"
    tele_token = "[token]"

    tele_botId = "bot" + tele_token 
    my_chat_id = "[chat_id]"
    params = {"chat_id" : my_chat_id, "text" : message}
    r = requests.get(tele_url + tele_botId + "/sendmessage", params).json()
    return(r)

telegram_send("ぷに")

簡単な仕組みだけど、どう通知したらいいか悩んでいる人の一助に共有します。

以下、投げ銭エリアで何も書いてないです。


この記事が気に入ったらサポートをしてみませんか?