ボットの設定について
本ボットの設定ファイルは、.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サーバーのポートを指定できます。(任意指定)
複数のボットを同時稼働しており、それぞれでWebサーバーが有効になっている場合、それぞれのボットで違う値を設定する必要があります。
デフォルトでは8081が使用されます。
LOG_TRANSFER_PORT
内部的に、ロガーで使用されるTCPポートの番号を指定します。(任意指定)
複数のボットを同時稼働する際には、それぞれのボットで違う値を設定する必要があります。
デフォルトでは5003が使用されます。
PO_TOKEN
YouTubeの再生に使われるセッション情報を設定します。
VISITOR_DATA
YouTubeの再生に使われるセッション情報を設定します。
PO_TOKENとVISITOR_DATAの取得方法は、こちらのガイド(英語)を参照してください。
代わりに、後述するTSG_URLオプションを使用することもできます。
TSG_URL
YouTubeの再生に使われるセッション情報を取得できるサーバーのURLを設定します。
このプロジェクトのサーバーを想定した設定です。 リフレッシュ間隔が長すぎるため、フォークしたプロジェクトも公開しています。
このURLに対してHTTP GETリクエストをした際に、以下の形式でセッション情報が返却されるようなサーバーのURLであれば、なんでも指定することが可能です。
{
visitor_data: string,
potoken: string,
}
Docker Compose でボットを設定されている場合、 compose.ymlにサービスを追加することで簡単にサーバーを設定できます。
編集の際には、インデントに注意してください。
# bot や mongo の並びに、 ytsg を追加してください。
ytsg:
image: ghcr.io/mtripg6666tdr/youtube-trusted-session-generator:latest
retart: always
ports:
- 8080:8080
# bot の environments に、以下の行を追加してください。
- TSG_URL=http://ytsg:8080/token
# bot の depends_on に、以下の行を追加してください。
- ytsg
※なお、これらの設定をしても、再 生が必ず改善する保証なく、変化がない場合もあります。
config.jsonファイル
こちらにはボットの設定情報などを記述します。
任意指定の設定に関しては、値をnullにしてください("null"ではなくnull)
例:
{
"adminId": 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" | "full")
ボットによるキャッシュレベルを設定します。
メモリキャッシュ("memory")、恒常キャッシュ("persistent")、フルキャッシュ("full")の順にキャッシュレベルが高くなり、
キャッシュレベルが高いほど、再生が高速化されます。
cacheLimitの設定により、キャッシュの容量制限をすることも可能です。
cacheLimit (number | undefined)
cacheLevelがpersistentの場合に、./cacheに保存されるキャッシュの最大容量をMB(メガバイト)単位で指定します。
プロパティを省略すると、500MBとなります。
cacheLevelプロパティが"memory"の場合にはこのオプションに効果はありません。
ボットのキャッシュ機能については、キャッシュをご覧ください。
defaultLanguage (string)
ボットのデフォルトの言語を設定します。使用可能な言語はリポジトリのlocalesフォルダをご確認ください。日本語であれば"ja"です。
country (string)
ボットがメインとする国コードを設定します。日本であれば"JP"です。
botWhiteList (string[] | null | undefined)
本ボットを複数台のボットでホストしている場合、ここにお互いのボットのユーザーIDを指定することで、相互運用がしやすくなります。
現時点では、具体的にはインポートおよび再生コマンドで、お互いのメッセージに反応できるようになります。
例えば、ボットAでエクスポートコマンドで出力したキューをボットBでインポートする、などができるようになります。
相互運用しているボットは、できるだけ同じバージョンを使用するようにしてください。バージョンが異なる場合、予期しない動作をする可能性があります。
djRoleNames (string[] | null | undefined)
本ボットでDJロールとして認識されるロールの名前を変更できます。
何も指定しないとDJという名前のロールがDJロールとして認識されます。
DJロールがついているユーザーは、他のユーザーより操作できることが多くなります。詳しくは、コマンド使用時の権限をご確認ください。
showGuildCountStatus (boolean | undefined)
ボットが参加しているサーバー数や、ボットが接続しているサーバー数をステータスとして表示するかどうかを指定します。
trueにした場合、ボットのステータスに2/3 Serversを再生中(接続中サーバー数/参加サーバー数)などと表示されます。
falseにした場合、ボットのステータスには音楽を再生中などと表示されます。
デフォルトの設定はfalseです。
そのほかの非推奨の設定項目
これらの設定は現在非推奨で す。将来のリリースで完全に削除される可能性があります。
proxy (string|null)
(v4.1から非推奨)
プロキシを使用する場合はそのURL。設定しない場合はnull
一部の音楽ソースの取得に使用されます。
設定はこれで以上となります。