CSGOのサーバーステータスを監視するDiscord botの使用方法
GitHubでこんなものを見つけ、動作の確認をしましたので紹介します。
要はDiscordのテキストチャットにCSGOサーバーの情報を表示するbotです。情報は逐一チャットを投稿するわけではなく最初の投稿を編集する形で更新されていくため、ピン止めするか専用のチャンネルを作る必要があります。
サーバーの用意
botを常駐させたいのであれば、VPSでも何でもいいのでpythonが動くサーバーを用意してください。今回はWindowsで説明します。(Linux有識者ならWindows用の解説でも応用できるので・・・)
Pythonのインストール
https://www.python.org/downloads/
お使いの環境に合わせて3.6以上をインストールしてください。
botファイルのダウンロード
頭記のURLからファイルを一式ダウンロードし、サーバー上の適当なフォルダ(パスに2バイト文字が無いディレクトリが望ましい)に置いてください。
botの作成
https://discordapp.com/developers/applications/
①ここにアクセスし、メインで使っているdiscordアカウントでログインし、[New Aprication]からbotを新規作成します。アイコンや名前を決めたら一度[Save Changes]を押します。DESCRIPTIONは未記入で大丈夫です。
②左側のメニューから[bot]を選択し、右の方の[Add bot]を押すとなんか聞かれるので、[Yes, do it]を押します。
③BUILD-A-BOTにあるTOKENを後で使用するのでクリップボードにコピーします(General InformationにあるCLIENT IDやCLIENT SECRETは使いません)
bot初期設定
①botファイル内のconfig.jsonをエディタで開きます
②さっきコピーしたTOKENを「"bot-token": "ここ"」に貼り付けます
③"update-time"は更新間隔を秒数で指定します。製作者が24秒以上推奨と言っているように、短すぎるとサーバーの負荷が大きくなりますので適度に調整してください。
④"community-name"はなんでもいいようです
⑤最初からサンプルとして書かれているものを参考にして表示したいサーバーの名前やIPを記入します
⑥"server-list-channel"には投稿したいテキストチャンネルのIDを入れます。テキストチャンネルのIDは開発者モードをオンにしてDiscord上でテキストチャンネルの名前を右クリックすると「IDをコピー」というので確認できます。
botをディスコードサーバーに呼ぶ
①ディベロッパーページに戻って、OAuth2のタブを開きます
②SCOPESから[bot]を選択すると
https://discordapp.com/api/oauth2/authorize?client_id=クライアントアイディー&permissions=0&scope=bot
こんな感じのURLが生成されるので、URLをコピーして開きます。
③追加したいDiscordサーバーを選択して、認証を押します
④追加されました
必要なパッケージを入れる
①コマンドプロンプトを開きます
②「python --version」と入力し、pythonが動いていることを一応確認してください
③必要なパッケージをいれます
python -m pip install -U discord.py
python -m pip install aiohttp
動作確認
①ファイルを入れたディレクトリに移動します
C:\Discord-Server-List-master
②起動します
python server-list.py
テキストチャットに投稿されれば成功です。指定した更新間隔で更新されているかを確認してください。
Linuxではscreenなどを使うといいと思います。
実はCSGOでなくてもsource系サーバーなら認識する気がします。未確認ですが。
半分自分用のメモなので画像も何も用意しませんでしたが、なにか質問があれば答えるかもしれません。