/ikanokaiwa

ikanokaiwa

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

ikanokaiwa

ikanopuくんといっしょにお仕事がしたい

起動方法

node.js(== 12.20.0)で実行

$ sudo npm -g install n
$ sudo n 12.20.0
$ sudo npm -g install yarn
$ yarn install
$ node app.js

Discord Botの準備

Discord appをbotの個数分作成して、それぞれに対してbot tokenを取得します。

参考: https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token

Botのパーミッションには、

  • General
    • View Channels
  • Text
    • Send Messages
    • Read Message History
  • Voice
    • Connect
    • Speak
    • Use Voice Activity を指定してください。

ギルド別設定

以下の方法でサーバID、チャンネルID、bot用のトークンなど秘密情報を指定可能です。最大数はconfigbotCountに従います。 tokens, voiceChannelIdsの先頭に設定されたbot(ボイスチャット)は、その他のbotからの音声を受信してMixingするように機能します。

secret.jsonを利用

読み込み先はconfig.secretPathで指定可能です。

{
    "tokens": [
        "<Lobby bot token here>",
        "<bot token here>",
        "<bot token here>"
    ],
    "voiceChannelIds": [
        "<Lobby voice channel id here>",
        "<target voice channel id here>",
        "<target voice channel id here>"
    ]
}

環境変数を利用

secret.jsonが見つからなかった場合はこちらを参照します。


変数名 備考
tokens 複数指定可能、カンマ区切り aaa,bbb,ccc
voiceChannelIds 複数指定可能、カンマ区切り 0132,12312,4564

その他設定

node-configを採用しています。confg/default.jsonにある設定を利用することができます。


変数名 備考
botCount ハンドルするボットの数(tokens, voiceChannelIdsと数を一致させてください) 3
secretPath 先のギルド別設定の保存場所。空白や存在しないパスの場合は環境変数から読み出します。 ./secret.json
startupSoundPath ボイスチャット参加時に流す音声 ./startup.mp3
mixerSetting 音声ミキサーの設定です [Object]
mixerInputSetting 音声ミキサーの入力設定です [Object]
debug 開発者向けの余計な分岐を実行する場合はtrue true
log4js ログ出力を編集することができます、コード上ではdefault,debug,errorに分類して出力しています [Object]