NsenBotは Nsen の放送をDiscordのボイスチャンネルで再生するBotです。
ニコ動のログイン情報とDiscordのBot Tokenを設定ファイルに記載するだけで使用できます。
Nsenで再生されている動画の音声をDiscordのボイスチャンネルで再生します。
Nsenのチャンネルと指定することもでき、コマンドで変更することも可能です。
NsenBotには最初から便利なコマンドが実装されています。また、コマンドのプレフィックス(/や!のようなもの)を任意のものに定義することもできます。
以下は NsenBotに実装されているコマンドです。
| コマンド | 説明 |
|---|---|
channel str |
Nsenのチャンネルを str に変更します。strには vocaloid tohoなどを指定できます。詳しくは helpコマンドで確認してください。 |
| queue | 現在の再生キューを取得します。この再生キューは Nsenとの同期ズレが生じるため使用されます。 つまり このキューが空でないときは Nsenとの再生時間のズレが発生しています。特にこれは問題ありません。 |
| skip | 現在の曲をスキップする投票を始めます。 |
| volume | 現在のプレイヤーの音量を取得します。 |
volume int |
プレイヤーの音量を int% に変更します。 |
volume [+ または -]int |
プレイヤーの音量を int% だけ増加または減少させます。 |
| help | ヘルプを表示します。 |
Python 3.5以上 (async-await構文を使用しているため)
cd /path/to/install
git clone https://github.com/SlashNephy/NsenBot
cd NsenBot
pip3 install -r requirements.txt
cp sample.config.json config.json
vi config.json
python3 NsenBot.py
sample.config.jsonを参考にconfig.jsonを作成してください。
以下は sample.config.jsonの設定値の一覧です。
| 設定値 | データ型 | 説明 | 例 |
|---|---|---|---|
| tmpDir | str | 動画を一時キャッシュするディレクトリを指定します。NsenBot.pyと同じディレクトリに配置することをおすすめします。 |
"/path/to/tmp" |
| logDir | str | ログを保管するディレクトリを指定します。NsenBot.pyと同じディレクトリに配置することをおすすめします。 |
"/path/to/logs" |
| debug | bool | ログレベルとデバッグにするかどうかです。有効にした場合、ログファイルが肥大化する可能性があります。 | false |
| bot | dict | 以下に別に示します。 | - |
| niconico | dict | 以下に別に示します。 | - |
次は sample.config.jsonの設定値のうち bot以下のものです。
| 設定値 | データ型 | 説明 | 例 |
|---|---|---|---|
| token | str | DiscordのBotのTokenです。 Tokenはここで取得できます。 |
"----------------------------------------" |
| channel | str | デフォルトで接続するボイスチャンネルのIDです。 | "248432693862334466" |
| textChannel | str | コマンドの応答や再生中の曲情報をポストするテキストチャンネルのIDです。 | "248432693862334464" |
| prefix | str | コマンドの先頭に付け、コマンドを識別する文字です。 | "%" |
| needVotes | int | skipコマンドでスキップするのに必要な票数です。 |
3 |
| volume | float | 1を100%としたデフォルトの音量です。 | 0.02 |
| cleanUpInterval | int | tmpDirを掃除する間隔(秒)です。 |
3600 |
次は sample.config.jsonの設定値のうち niconico以下のものです。
| 設定値 | データ型 | 説明 | 例 |
|---|---|---|---|
| str | ニコ動のアカウント情報のうち、メールアドレスです。 | "hoge@example.jp" | |
| password | str | ニコ動のアカウント情報のうち、パスワードです。 | "foobar114514" |
| default | str | デフォルトで再生するNsenのチャンネルです。詳しくはhelpコマンドをご利用ください。 |
"toho" |
