Hayashikawa

Hayashikawa

Python で qBittorrent の通知を Telegram に送信する

前書き#

以前は、qBittorrent を使用してタスクを完了した後、メールで通知を送信していました。しかし、qBittorrent を再インストールして以来、各メールプラットフォームは SMTP サービスへのアクセス権限を厳しく制限しており、携帯電話の二段階認証やアプリの専用パスワードなどの手順が必要になり、非常に面倒になりました。そのため、Telegram Bot の通知方法に切り替えることにしました。

スクリプトの内容#

import requests
import sys

def send_telegram_message(bot_token, chat_id, message):
    url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
    payload = {
        "chat_id": chat_id,
        "text": message
    }
    response = requests.post(url, json=payload)
    return response.json()

# Telegram Bot トークンとチャット ID を置き換える
bot_token = "Telegram Bot Token"
chat_id = "Telegram Chat ID"

if __name__ == "__main__":
    if len(sys.argv) > 2:
        # 外部パラメータを取得する
        torrent_name = sys.argv[1]
        save_path = sys.argv[2]

        # 送信するメッセージを構築する
        message = f"Torrent 完了\nTorrent 名称:{torrent_name}\n保存パス:{save_path}"

        # メッセージを送信する関数を呼び出し、メッセージを渡す
        response = send_telegram_message(bot_token, chat_id, message)
        print(response)

使用方法#

スクリプトの内容を Python ファイルとして保存し、qBittorrent - ダウンロード - 外部プログラムの実行でスクリプトの実行コマンドを設定するだけです。

python "Python スクリプトファイルの場所" "%N" "%D"

最後に#

Telegram Bot の通知を使用することで、メールの設定の手間を省くだけでなく、リアルタイムで通知を受け取ることができ、ダウンロードタスクの状態を把握することができます。今では、Telegram Bot を使用してダウンロードの進捗状況や完了状況をいつでも把握できるため、ダウンロード体験がスムーズで効率的になりました。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。