RGRB は Ruby で実装されている汎用 IRC/Discord ボットです。プラグイン方式により柔軟な拡張が可能です。
- Linux または OSX
- 現在のところ Windows には未対応。
- Ruby 3.0 以降
Ruby をインストールしていない場合はインストールしてください。
Bundler をインストールしていない場合は以下を実行してください。
gem install bundler
上記が完了したら、適当なディレクトリにファイルを設置し、以下を実行して必要な gem(ライブラリ)をインストールしてください。
なお、gem をインストールするためには、システムにいくつかのライブラリと開発環境がインストールされている必要があります。CentOS 7 を最小限構成でセットアップしている場合、以下の追加パッケージが必要です。
- make
- gcc
- gcc-c++
- libicu-devel
- zlib-devel
- which
- sqlite-devel
- gdbm-devel
cd /path/to/rgrb
bundle install --deployment
開発時は、メール送信テストを行えるようにするため、mailcatcher をインストールしてください。
gem install mailcatcher
IRC ボット用および Discord ボット用の設定ファイルのテンプレートがそれぞれ同梱されています。 IRC ボット用のテンプレートは config/irc.yaml です。 Discord ボット用のテンプレートファイルは config/discord.yaml です。 複数の設定を使う場合は、このファイルをコピーして config/ に設置します。
各設定は設定 ID によって識別します。設定 ID とは、config/ 以下に設置した YAML ファイルの、config/ を基準とした相対パスから拡張子を除いたものです。例えば config/irc.yaml の場合は irc
となり、config/trpg/detatoko.yaml の場合は trpg/detatoko
になります。
プラグインの設定を別のファイルに書くことも可能です。その場合、親となる設定ファイルの Include
節で設定 ID を指定し、子となる設定ファイルを取り込みます。ただし、取り込まれたファイルからさらに他の設定ファイルを取り込むことはできません。具体例は上記の設定ファイルのテンプレートでご確認ください。
記号 | 意味 |
---|---|
o | 実装済み |
! | すべての機能が実装されているわけではない |
x | 未実装 |
- | 実装予定なし(チャット環境固有の物) |
プラグイン名 | 内容 | IRC | Discord |
---|---|---|---|
DiceRoll | ダイスロール | o | o |
RandomGenerator | ランダムジェネレータ | o | o |
Trpg::Detatoko | 「でたとこサーガ」専用のダイス・表引きコマンド | o | o |
BCDice | ボーンズ&カーズ のダイスコマンドを利用する | o | o |
プラグイン名 | 内容 | IRC | Discord |
---|---|---|---|
Keyword | キーワード検索 | o | o |
OnlineSessionSearch | TRPG.NET セッションマッチングシステムから予定されているオンラインセッションの情報を検索する | o | x |
CreTwitterCitation | Twitter @cre_ne_jp の引用 | o | - |
UrlFetchTitle | 発言された URL のページタイトルを取得する | o | - |
プラグイン名 | 内容 | IRC | Discord |
---|---|---|---|
CreBotHelp | クリエイターズネットワークの IRC ボットとしてのヘルプを表示する | o | o |
ServerConnectionReport | IRC サーバの接続状態の変化を報告する | o | - |
Part | チャンネルからの退出 | o | - |
KickBack | RGRB が KICK されたとき、そのチャンネルに再度 JOIN する | o | - |
Invite | RGRB が INVITE されたとき、そのチャンネルに JOIN する | o | - |
Jihou | 毎日決まった時刻になった時、チャンネルに通知する | o | x |
Ctcp | CTCP メッセージを受信した時、適切な応答を返す | o | - |
IRC ボットを起動するには、以下を実行してください。Ctrl + C を押すと終了します。
cd /path/to/rgrb
bin/rgrb-ircbot
-c
(--config
)オプションで、使用する設定を指定することができます。その場合、-c
に続けて設定 ID を書きます。
cd /path/to/rgrb
bin/rgrb-ircbot -c test # /path/to/rgrb/config/test.yaml を使用する場合
systemd による制御を行なう場合は systemd を参照してください。
上のリンクをクリックすることで、Discord ボットを、ご自身が管理者になっている Discord サーバに招待することが出来ます。 この場合、ご自身のコンピュータ上で RGRB をインストールしたり、RGRB を起動したりする必要はありません。
(ToDo: 増補)
YARD を利用してライブラリのドキュメントを doc/ 以下に生成することができます。以下を実行してください。
cd /path/to/rgrb
rake yard
- IRC ボットに対して短い時間に大量のメッセージを送ると、応答が遅れます。これは IRC サーバの負荷調整に依るものです。
- Web インターフェース
ご意見・ご要望・バグ報告等は、irc.cre.jp 系 IRC サーバ群の IRC チャンネル「#cre」や、GitHub リポジトリ上の「Issues」・「Pull Requests」にて承っております。お気軽にお寄せください。
© 2014- クリエイターズネットワーク技術部
- 鯉(@koi-chan)
- ocha(@ochaochaocha3)
- らぁ(@raa0121)
- risou(@risou)