久々の更新っすね。

Discord の簡易な BOT をつくったので手順をメモしておきます。

アプリケーションを登録する

  • Discord の developers ページの APPLICATIONS 項目にある My Apps にアクセスします。

  • New App をクリックして必要な項目を入力して Create App で追加します。
  • App の詳細ページに切り替わるので APP DETAILS の Client ID をメモしておきます。

    • サーバーに BOT を追加するときなどに使用します。
  • Create a Bot User をクリックして BOT User を作成します。
  • APP BOT USER の Token の click to reveal をクリックしてトークンを発行してメモしておきます。

    • プログラム側から BOT を操作するのに使用します。

BOT をサーバーに追加する

下記の URL にアクセスして追加するサーバーを選択するだけです。

https://discordapp.com/api/oauth2/authorize?client_id=ここにメモしたClient ID&scope=bot&permissions=0

参考: Adding Bots to Guilds | Discord - Developer Documentation

適当にプログラムを書く

タイトル通り Node.js を使います。

プログラムを書くといっても discord.js という素晴らしいモジュールのおかげですごく簡単です。

モジュールのサイト: discord.js

モジュールの準備

モジュールのインストール

普段通りインストールと行きたいところですが、discord.js のみをインストールすると「Couldn't find an Opus engine.」というエラーが出るので opusscript というモジュールも一緒にインストールします。

(依存関係に書かれているのになぜか一緒にインストールされない・・・よくわからんので誰か教えて)

参考 Issue: Can't install or run "npm install discord.js" #976

npm i --save discord.js opusscript

ffmpeg のインストール

BOT で音声を再生するときなどに ffmpeg を使用するので別途インストールしておく必要があります。

Windows であれば適当なディレクトリにインストールして PATH を通しておけば大丈夫です。

調べれば出てくると思うので今回は端折ります。

ソースコード

discord.js のドキュメントがめちゃくちゃわかりやすいので全く困ることはないと思います。

Documentation | discord.js

BOT で音声ファイルを再生するサンプル

参考: VoiceConnection.playFile() | discord.js

おわりに

かなりいろいろできるみたいなので BOT 自作して遊びたい!って人はぜひ試してみてほしい。