ボットの設定について
本ボットの設定ファイルは、.env
とconfig.json
の2ファイルです。これらに各種設定を記述します。
各サンプルファイルを参考にして各自で作成してください。
.env
ファイル
こちらには主にトークンなどの認証情報を記述します。
.env.sample
がサンプルファイルとなっていますので、コピー&リネームしてお使いください。
なお、.env
ファイルを使わず、環境変数でも代用することができます。都合の良い方をお使いください。
replitなど、環境変数の設定方法が特殊な場合もあるため、replitのようなホスティングサービスを使用する際は、利用するサービスのヘルプページをご覧ください。
TOKEN
ボットのトークンです。Discord Developer Portalから取得してください。
CSE_KEY
歌詞検索に使用するGoogle Custom Searchのkeyです。(任意指定)
DB_URL
「キューやループの有効無効等のデータのバックアップ」に使用するデータベースサーバーのURLです。(任意指定)
サーバーの仕様等についてはバックアップを参照してください。
DB_TOKEN
「キューやループの有効無効等のデータのバックアップ」に使用するデータベースサーバーのトークンです。(任意指定)
サーバーの仕様等についてはバックアップを参照してください。
PORT
config.json
でwebserver
をtrue
にした場合に作成されるWebサーバーのポートを指定できます。(任意指定)
LOG_TRANSFER_PORT
内部的に、ロガーで使用されるTCPポートの番号を指定します。(任意指定)
複数のボットを同時稼働する際には、それぞれのボットで違う値を設定する必要があります。
デフォルトでは5003
が使用されます。
config.json
ファイル
こちらにはボットの設定情報などを記述します。
任意指定の設定に関しては、値をnullにしてください("null"ではなくnull)
例:
{
"proxy": null
}
config.json.sample
がサンプルファイルとなっていますので、コピー&リネームしてお使いください。
(カッコ内は設定値の、TypeScript表記の"型"です。)
adminId
(string | string[] | null)
管理人のユーザーのIDを指定します。複数の管理人がいる場合は、配列で指定してください。設定しない場合はnull
debug
(boolean)
デバッグ用の構成で起動するかを指定します。通常であればfalse
に設定してください。
デバッグ用構成を有効にすると、ボットの動作が以下のように変更されます。
- 出力されるログの量が増えます。
- 権限がある場合、ログが
logs
フォルダーにファイルとして出力されます。 - 想定されていないエラーが発生した場合、ボットはクラッシュし、プログラムが終了します。
このオプションは、Node.js
の--inspect
オプションとはまったく別であるため、このオプションを使用しても、デバッガーを接続することはできません。
maxLogFiles
(number | undefined)
上のdebug
がtrue
に設定されている際に出力されるログファイルの最大数を指定できます。
設定しないとデフォルトで100
となります。
このプロパティは、省略され ても動作するようになっています。
debug
プロパティがfalse
の場合にはこのオプションに効果はありません。
maintenance
(boolean)
メンテナンス用の構成で起動するか。メンテナンス用構成では、adminId
で指定した管理者以外からのコマンドをすべて無視するようになります。
errorChannel
(string|null)
エラーレポートを送信するテキストチャンネルのID。設定しない場合はnull
prefix
(string|null)
指定する場合は一文字でデフォルトプレフィックスを指定してください。
webserver
(boolean)
ウェブサーバーを起動するか
bgm
(object)
このプロパティを設定することで、自動的にBGMを再生するように構成できます。
詳細は、BGM機能を参照してください。
noMessageContent
(boolean)
Message Content IntentがDiscord Developer Portalで無効になっている場合は、true
に設定してください。
デフォルトはfalse
です。
twentyFourSeven
(string[])
参加しているユーザーがボイスチャンネルから退出しても、再生を一時停止しないボイスチャンネルのIDを配列で指定します。
詳細は、24/7再生機能を参照してください 。
alwaysTwentyFourSeven
(boolean)
参加しているユーザーがボイスチャンネルから退出しても、再生を一時停止しない場合にはtrue
に設定します。
このオプションがtrue
の場合、上のtwentyFourSeven
は常に無視されます。
詳細は、24/7再生機能を参照してください。
cacheLevel
("memory" | "persistent")
ボットによるキャッシュレベルを設定します。"memory"
を設定すると、メモリ内にキャッシュを保存します。
ディスクに余裕がある場合は、"persistent"
を指定することで、キャッシュを永続化できます。
"persistent"
を指定した場合、キャッシュは./cache
に保存されますが、任意のタイミングで削除することができます。
cacheLimit
(number | undefined)
cacheLevel
がpersistent
の場合に、./cache
に保存されるキャッシュの最大容量をMB(メガバイト)単位で指定します。
プロパティを省 略すると、500
MBとなります。
cacheLevel
プロパティが"memory"
の場合にはこのオプションに効果はありません。
defaultLanguage
(string)
ボットのデフォルトの言語を設定します。使用可能な言語はリポジトリのlocales
フォルダをご確認ください。日本語であれば"ja"
です。
country
(string)
ボットがメインとする国コードを設定します。日本であれば"JP"
です。
botWhiteList
(string[] | undefined)
本ボットを複数台のボットでホストしている場合、ここにお互いのボットのユーザーIDを指定することで、相互運用がしやすくなります。
現時点では、具体的にはインポート
および再生
コマンドで、お互いのメッセージに反応できるようになります。
例えば、ボットA
でエクスポート
コマンドで出力したキューをボットB
でインポートする、などができるようになります。
相互運用しているボットは、できるだけ同じバージョンを使用するようにしてください。バージョンが異なる場合、予期しない動作をする可能性があります。
そのほかの非推奨の設定項目
これらの設定は現在非推奨です。将来のリリースで完全に削除される可能性があります。
proxy
(string|null)
(v4.1から非推奨)
プロキシを使用する場合はそのURL。設定しない場合はnull
一部の音楽ソースの取得に使用されます。
設定はこれで以上となります。