plugins_ja - noonworks/Nursery GitHub Wiki
プラグイン詳細
1. プラグインとは
Nurseryの機能の多くは、カスタマイズ可能なプラグインシステムで構成されています。
例えば、棒読みちゃんでメッセージを読み上げる際に、長いURLをそのまま読み上げられると不便です。そのため、標準で「URLを省略するフィルタのプラグイン」がインストールされています。このプラグインは、メッセージ内のURLを検索し「amazon.co.jpのURL」のように省略した形に変換します。
こういったプラグインは、ひとつひとつの機能は少なく、複数を組み合わせて動作するようになっています。
2. プラグインの場所と設定ファイル
標準ではplugins
フォルダの中にプラグインのファイルが入っています。
plugins
├─ plugins.json : プラグインの設定ファイル
├─ Nursery.BasicPlugins.dll : 標準プラグインのdllファイル
├─ Nursery.SoundEffectPlugin.dll : SEプラグインのdllファイル
└─ Nursery.UserDefinedFilterPlugin.dll : ユーザー定義フィルタプラグインのdllファイル
2-1. plugins.json
plugins.json
はプラグイン全体の設定が書かれたファイルです。プラグインを使う・使わない、どの順番で使う、といったことが設定されています。
{
"plugins": [
"Nursery.BasicPlugins.IgnoreSelfFilter",
"Nursery.BasicPlugins.JoinCommand",
// ...(中略)...
"Nursery.BasicPlugins.BlankFilter",
"Nursery.BasicPlugins.AddNameFilter"
]
}
- プラグインは名前が書かれた順番で実行されます。
- ここに名前が書かれていないプラグインは 無効化 され、使われなくなります。
2-2. プラグインの種類
2-2-1. コマンドプラグイン
コマンドプラグインは、NurseryのBotに命令を送るときに使用されます。
例:
- Nurseryを入室させる
JoinCommand
プラグイン。@nursery-bot come
コマンドが使えるようになる。 - ヘルプを表示する
HelpCommand
プラグイン。@nursery-bot help
コマンドが使えるようになる。 - 音声を再生する
SoundEffectCommand
プラグイン。se (音声の名前)
コマンドが使えるようになる。
2-2-2. フィルタプラグイン
フィルタプラグインは、メッセージを読み上げ用に変換するときに使用されます。
例:
- URLを「example.comのURL」という形式に省略する
UrlFilter
プラグイン。 - 添付ファイルがあるとき「〇個の添付ファイル」という文章を追加する
AttachmentFilter
プラグイン。
2-2-3. スケジューラプラグイン
スケジューラプラグインは、NurseryのBotにスケジュール(監視やタイマー機能)を追加します。
例:
- ボイスチャンネルの参加人数を監視し、誰かが入退室したときにメッセージを表示する
WelcomeScheduler
プラグイン。
3. プラグインごとの設定ファイル
plugins
フォルダ内に、(プラグインの名前).json
形式の名前のファイルがあります。これらは各プラグインの設定ファイルです。
これらの設定ファイルの内容については、各プラグインの詳細を参照してください。
4. 各プラグインの詳細
- 標準でインストールされているプラグインの詳細は各プラグインのページを参照してください。
- プラグインの自作方法については開発者向け情報を参照してください。