前書き#
以前は、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 を使用してダウンロードの進捗状況や完了状況をいつでも把握できるため、ダウンロード体験がスムーズで効率的になりました。