一. Telegram API 申請#
https://my.telegram.org/apps を開き、ログイン後に「Apps」を選択し、関連情報を入力すると、apiId や apiHash などの情報が自動的に生成されます。以前に申請した場合は、「Apps」に入ると表示されます。
二. tg ボットの構築#
- スクリプトのダウンロード
git clone <https://github.com/alonedogboy/telegram_channel_downloader.git>
- rcloneをインストールします。ローカルにダウンロードするだけの場合は、このステップは不要です。
- スクリプトのディレクトリに移動します。
cd telegram_channel_downloader
- 依存関係をインストールします。
pip3 install -r requirements.txt
- telegram_channel_downloader.py ファイル内の関連情報を変更します:
api_id、api_hash:Telegram API から取得した情報をそれぞれ対応する位置に入力してください。
bot_token:@BotFather に連絡してボットを作成するか、既存のボットを使用します。取得したトークンを入力してください。
admin_id:@get_id_bot に連絡して適当なメッセージを送信し、ID を取得してください。
OD にアップロードする場合:スクリプト内の以下のパラメータを変更する必要があります:drive_id=”,drive_name=’onedrive’、onedrive は rclone の設定時に入力したクラウドストレージの名前です。また、102 行目の "fclone" を "rclone" に置き換える必要もあります。
必要な設定に応じて、すべての設定には対応するコメントがありますので、変更してください。
- スクリプトを実行します:SCREEN を使用してオンラインに保ちます。
python3 tg_channel_downloader.py
# Telegramにバインドされた携帯電話番号を入力し、確認コードを取得して入力してください。
SCREEN の関連コマンド:
# SCREENセッションの作成: screen -S xx #xxはセッションの名前です # セッションウィンドウを非表示にして保持する: Ctrl+Aを押してから"D"キーを押します # セッションウィンドウを復元する: screen -r xx #xxという名前のセッションを復元します # セッション名を設定しなかった場合、または設定を忘れた場合: screen -ls #すべてのセッションをリストアップし、復元コマンドを見つけて使用します # セッションウィンドウを閉じる exit
- 実行:ボットに /start とチャンネルのリンク 0 を送信すると、スクリプトを正式に実行してファイルをダウンロードできます。
チャンネルのリンク:チャンネル名をクリックすると、チャンネルのリンクが表示されます。
0:これはメッセージ ID で、任意の値を指定できます。0 は最も古いメッセージを意味します。特定のメッセージ以降をダウンロードする場合は、メッセージを右クリックしてメッセージのリンクをコピーし、リンクの末尾にメッセージ ID の数字が表示されます。