Discord チャンネルに画像を自動的に投稿する方法
Discord サーバーを運用していて、指を動かすことなく、特定のチャンネルに定期的に画像を自動的に投稿したいとお考えですか? この記事では、Discord-AIU ツールとカスタム スクリプトを使用して、Discord チャンネルに画像を自動的にアップロードする方法を説明します。
私たちの目標とツールキット
アニメ専用の Discord サーバーを運営していて、毎日公開される新鮮なファンアートでメンバーの関心を維持したいとします。このアイデアは簡単に実装できそうです。24 時間ごとに画像を投稿することを覚えておけばいいだけですよね? でも違います。生活が忙しくなり、いつの間にかメンバーがあなたに向かって叫び、毎日のアニメの素晴らしさはどこに行ったのかと尋ねてきます。そこで、自動化が役に立ち、あなたの正気を保ちます。
Discord チャンネルに画像を自動的に投稿するには、ツールとスクリプトを組み合わせて使用します。主な目的は、手動操作なしで、指定した Discord チャンネルに画像を定期的にアップロードするシステムを構築することです。基盤としてDiscord-AIU (自動画像アップローダー) ツールを使用し、スケジュール設定と画像選択のプロセスを処理するためのカスタム スクリプトもいくつか使用します。
Discord-AIUのインストール
目的の概要がわかったので、Discord-AIU を使用して画像アップロード ボットを作成しましょう。まず、GitHub リポジトリからDiscord-AIU をダウンロードする必要があります。最新バージョンを入手して、適切な場所に解凍することをお勧めします。このツールは Python で開発されているため、主要なオペレーティング システムで実行できます。
Discord-AIU をダウンロードしたら、必要な Python 依存関係をインストールする必要があります。システムに Python がインストールされている場合は、ターミナルまたはコマンド プロンプトを開き、Discord-AIU ディレクトリに移動して、コマンドを実行するだけです(実行するにはPDM のインストールpdm install
も必要になる場合があります)。
このコマンドは、ツールが適切に機能するために必要なすべてのパッケージ、つまり、pillow、python-dotenv、およびrequestsをインストールします。
チャンネルのWebhookエンドポイントを作成する
次のステップは、 Discord サーバーにWebhook エンドポイントを作成することです。この Webhook は、Discord-AIU とサーバー間の接続ポイントです。これを行うには、サーバー設定を開き、 [統合]タブに移動します。
「Webhook の作成」ボタンをクリックすると、Webhook をカスタマイズするためのオプションが表示されます。アバターを編集したり、画像を投稿するチャンネルを選択したり、Webhook に名前を付けたりすることができます。
これらを設定したら、「Webhook URL をコピー」ボタンをクリックして、新しく作成された Webhook の URL を取得できます。
Discord-AUI設定を構成する
Webhook をセットアップしたら、Discord-AIU を構成します。Discord -AUI フォルダーを開き、 srcサブフォルダーに移動します。
そこで、 discord_aiu.pyというファイルを探し、お気に入りのテキスト エディターで開きます。ファイルの上部近くにある対応する構成オプションに Webhook URL を貼り付けます。次のようになります。
また、好みに応じて FOLDER_PATH 構成オプションを変更することをお勧めします。デフォルトでは、次のように設定されています。
このパスは discord_aiu.py ファイルの場所からの相対パスです。つまり、「images」フォルダは discord_aiu.py スクリプトと同じディレクトリに作成する必要があります。ファイルを保存してフォルダを作成してください。
Discordに複数の画像を自動的に投稿する
Discord-AUI が正常に動作するかどうかをテストするには、新しく指定した画像フォルダに 1 つ以上のサンプル画像を配置します。次に、ターミナルまたはコマンド プロンプトを開き、Discord-AIU ディレクトリに移動して、次のコマンドを実行します。
すべてが正しく設定されていれば、すべてのテスト画像がすぐに指定された Discord チャンネルに表示されます。また、ツールの出力を確認すると、正確に何枚の画像が正常にアップロードされたかがわかります。
唯一の問題は、このコマンドが常に指定されたフォルダー内のすべての画像を一括でアップロードすることです。コミュニティで多くの画像を共有する必要がある場合、これは非常に便利で時間の節約になりますが、私たちの目標は、定期的に一度に 1 つの画像を Discord に自動的にアップロードすることです。幸いなことに、必要なのはカスタム スクリプトだけです。
Discord-AUI を定期的に実行するようにスケジュールする
Discord-AUI が機能することを確認したので、定期的に画像を投稿するプロセスを自動化しましょう。次のタスクを実行するスクリプトを作成します。
- キュー フォルダーからランダムなファイルを選択します。
- 画像フォルダに移動します。
- Discord-AUI ツールを実行します。
- アップロードされた画像を「アップロード済み」フォルダに移動します。
Windows を使用している場合は、新しいプレーンテキスト ファイル (メモ帳を使用できます) を作成し、次のコードをコピーして貼り付ける必要があります。
スクリプトをscript.ps1または同様の名前で保存します (.ps1 は PowerShell スクリプトの拡張子です)。
Linux および macOS ユーザーは、次の bash スクリプトを使用してscript.shファイルを作成できます。
必要なフォルダを作成し、その場所と Discord-AIU フォルダ自体の場所を反映するようにパスを変更することを忘れないでください。また、コマンドを使用してスクリプトを実行可能にする必要がありますchmod +X /path/to/script
。
最後に、script.ps1 (Windows) ファイルまたは script.sh (Linux および macOS) ファイルを自動的に実行するようにスケジュールする必要があります (たとえば、1 日に 1 回)。
Windows ユーザーの場合は、スタート メニューでタスク スケジューラを検索して開くことができます。右側のパネルで[基本タスクの作成]をクリックし、タスクに「Discord Image Uploader」などの名前を付けます。
トリガーに「毎日」を選択し、希望する時間を設定します。アクションには、「プログラムの開始」を選択します。「プログラム/スクリプト」フィールドに「powershell」と入力し、 「引数の追加」フィールドに「」と入力します-ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1"
。
LinuxまたはmacOSを使用している場合は、ターミナルを開いて次のように入力します。
cron ジョブを編集します ( sudo EDITOR=nano crontab -e
Vim の代わりに Nano エディターを使用することもできます)。
毎日午後 12:00 (正午) にスクリプトを実行するための新しい行を追加します。次のようになります。
保存してエディターを終了します。
これらの手順を完了すると、選択したスクリプトが毎日自動的に実行され、Discord チャンネルが新しい画像で最新の状態に保たれます。コンテンツの安定したストリームを確保するために、キュー フォルダーに新しい画像が保存されていることを忘れないでください。サーバーをさらに楽しい場所にしたい場合は、Raspberry Pi を Discord ラジオ ステーションに変える方法を学習してください。
画像とスクリーンショットはDavid Moreloによるものです。
コメントを残す