irc.cre.jp 系 IRC サーバ群で用いられている汎用 IRC ボット。 http://www.cre.ne.jp/services/irc/bots/rgrb
Ruby HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
config IRC ボットの QUIT メッセージを変えられるようにした Jan 30, 2018
data logging: 選択肢にメモ書きが含まれていたためコメントアウト Feb 5, 2017
doc Merge branch 'master' into bcdice Jun 21, 2018
lib/rgrb
spec Bcdice: 存在しないゲームシステムの場合のテストを追加する Jul 26, 2018
vendor library-versionUP-201807: git submodule BCDice -> commit:5f1007d (v2.… Jul 27, 2018
.editorconfig ファイルフォーマットを合わせるためeditorconfigを追加 Aug 13, 2014
.gitignore .gitignore: /doc/plugins/ 以下を無視しないようにした Mar 20, 2015
.gitmodules BCDice ラッパープラグイン実装開始 Nov 8, 2017
.rubocop.yml 設定が不要なプラグインのアダプターを作った Oct 5, 2014
.travis.yml Ruby 2.3以降のみ対応とする Jul 26, 2018
Gemfile
Gemfile.lock library-versionUP-201807: bundle update Jul 27, 2018
LICENSE
LICENSE.ja README 修正、ライセンス追加 Feb 5, 2015
README.md
Rakefile Travis CI の設定を追加した Feb 7, 2015

README.md

汎用 IRC ボット RGRB

Build Status Coverage Status

RGRB は Ruby で実装されている汎用 IRC ボットです。プラグイン方式により柔軟な拡張が可能です。

動作環境

  • Linux または OSX
    • 現在のところ Windows には未対応。
  • Ruby 2.3 以降

インストール

Ruby をインストールしていない場合はインストールしてください。

Bundler をインストールしていない場合は以下を実行してください。

BCDice プラグインを使用する場合は、BCDice 本体をインストールするために git コマンドが必要です(リポジトリから手動でインストールすることも出来ますが、面倒です)。git をインストールすることをお勧めします。

gem install bundler

上記が完了したら、適当なディレクトリにファイルを設置し、以下を実行して必要な gem(ライブラリ)をインストールしてください。

なお、gem をインストールするためには、システムにいくつかのライブラリと開発環境がインストールされている必要があります。CentOS 7 を最小限構成でセットアップしている場合、以下の追加パッケージが必要です。

  • make
  • gcc
  • gcc-c++
  • libicu-devel
  • zlib-devel
  • which
  • sqlite-devel
cd /path/to/rgrb
bundle install --deployment

BCDice プラグインを利用する場合は、続けて BCDice 本体をダウンロードするため、以下のコマンドを実行してください。

git submodule init

設定

config/rgrb.yaml を編集して設定します。複数の設定を使う場合は、このファイルをコピーして config/ に設置します。

各設定は設定 ID によって識別します。設定 ID とは、config/ 以下に設置した YAML ファイルの、config/ を基準とした相対パスから拡張子を除いたものです。例えば config/rgrb.yaml の場合は rgrb となり、config/trpg/detatoko.yaml の場合は trpg/detatoko になります。

プラグインの設定を別のファイルに書くことも可能です。その場合、親となる設定ファイルの Include 節で設定 ID を指定し、子となる設定ファイルを取り込みます。ただし、取り込まれたファイルからさらに他の設定ファイルを取り込むことはできません。具体例は上記の config/rgrb.yaml でご確認ください。

プラグイン一覧

オンラインセッション支援

プラグイン名 内容
DiceRoll ダイスロール
RandomGenerator ランダムジェネレータ
Trpg::Detatoko 「でたとこサーガ」専用のダイス・表引きコマンド
BCDice ボーンズ&カーズ のダイスコマンドを利用する

情報検索・引用

プラグイン名 内容
Keyword キーワード検索
OnlineSessionSearch TRPG.NET セッションマッチングシステムから予定されているオンラインセッションの情報を検索する
CreTwitterCitation Twitter @cre_ne_jp の引用
UrlFetchTitle 発言された URL のページタイトルを取得する

IRC 関連

プラグイン名 内容
CreBotHelp クリエイターズネットワークの IRC ボットとしてのヘルプを表示する
ServerConnectionReport IRC サーバの接続状態の変化を報告する
Part チャンネルからの退出
KickBack RGRB が KICK されたとき、そのチャンネルに再度 JOIN する
Invite RGRB が INVITE されたとき、そのチャンネルに JOIN する
Jihou 毎日決まった時刻になった時、チャンネルに通知する
Ctcp CTCP メッセージを受信した時、適切な応答を返す

IRC ボットの起動

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 を参照してください。

開発者向けドキュメントの生成

YARD を利用してライブラリのドキュメントを doc/ 以下に生成することができます。以下を実行してください。

cd /path/to/rgrb
rake yard

仕様

  • IRC ボットに対して短い時間に大量のメッセージを送ると、応答が遅れます。これは IRC サーバの負荷調整に依るものです。

ToDo

連絡先

ご意見・ご要望・バグ報告等は、irc.cre.jp 系 IRC サーバ群の IRC チャンネル「#cre」や、GitHub リポジトリ上の「Issues」・「Pull Requests」にて承っております。お気軽にお寄せください。

ライセンス

MIT License日本語

制作

© 2014-2018 クリエイターズネットワーク技術部