ROmBOTくん(仮)の紹介


 ぼっとって何なのさ

ircのチャンネルに常駐して色々とお仕事をしてくれるプログラムです。
常連登録されてる人に@を配ったり、チャンネルの設定(現在の設定は+snです。) を維持したりします。
オマケ機能として伝言機能、おしゃべり機能があります。
使ってるやつはperlっていう中途半端な言語で作られてますが改造はラクチンです。ヽ(´ー`)ノ

 もっとくわしく

about と発言すると説明が出てきます。
その説明とこっちの説明を同期させるのがめんどくさいので省略。

 おしゃべり機能の仕組み

ぼっと側の説明に書いてもしょうがないのでこっちに書いておきます。

基本

会話中にある単語・文が含まれていると、用意された辞書からその単語・文用の反応がランダムで選ばれます。
辞書の書式は以下の通り。


反応させる単語 : 反応1 : 反応2 : 反応3 : 反応4 ....

この形式で書いたテキストを送りつけてもらえば辞書に追加いたします。
たとえば、

ただいま : お帰り〜 : おかえりなさーい : おかー

だと「ただいま」が含まれる発言に反応して「お帰り〜」「かえりなさーい」「おかー」が帰ってきます。

応用

会話中にある単語・文が含まれているかを判定するのに「正規表現」というぷろふぇっしょなるな表現が使えます。
「正規表現」で検索すると解説ページがわんさか出てくると思うので説明はそちらにお任せします。ircで質問してくれましたら答ますので。
ということで例だけ。

逝って(よし|ヨシ) : オマエモナー

(風呂|ふろ|フロ)(に)?(入|はい)(って|る|り) : ごゆっくり〜ヽ(´ー`)ノ

((寝|ね|落ち|おち|抜け|ぬけ)(?!て)(ま.*す|るね|るっす|るです)(。|ー|〜)*|(落ち(。|ー|〜)*)$) : おやすみ〜ヽ(´ー`)ノ~~


適当にふくらましていったので一部無駄が多いですが....




 おまけ-サーバの選び方

はじめに

相手が発言してからこちらに届くまでには、ちょっと時間がかかります。
俗にタイムラグと言われるものでしてPINGと言うコマンドで確認できます。
普通に

/CTCP PING

と入力すれば全員にPINGを送ったことになり、全員のラグが確認できます。

本題に入りますと、タイムラグ(以下ラグと省略)が生じる原因は二種類あります。

  • サーバーとのデータのやりとりが遅い
  • サーバ間でのデータのやりとりが遅い

一つ目はまあ普通です。人によって速い、遅いは違うわけでして単純な近い、遠いはMS-DOSプロンプトで

PING ホスト名

と打つことにより確認できます。
これとサーバ自体の軽さが関係してきます。細い回線にたくさんのユーザがたくさんつないでたら当然遅くなります。
kyoto.wide・rcacなんかは回線は太いですがユーザも多いです。そんなわけで日によって重さが結構変わってきます。ここら辺のことはこのページで確認できます。


二つ目はちょっとわかりにくいかもしれませんけど、IRCはInternetRelayChatの略でして、サーバとサーバ同士が常にデータをやりとりして異なるサーバに接続してもお話しできるようになってます。
従って、サーバ同士でデータをやりとりすると言うことは、一つ目で紹介した原因でデータの遅延が起こります。
それに加えてサーバ同士がやりとりする相手はこんな感じで決まってまして、当然経由するサーバが多いとその分遅くなります。

まとめますと、間にたくさんのサーバを経由したり、その経由サーバが遅かったりするサーバの組み合わせだと遅延が大きくなります。

結局

以上のことをふまえまして、
色々なサーバの人が混ざってる場合
(オープンなチャンネルでいろんな所から人が来るチャンネル)

特に理由がない限り、サーバ同士の接続関係で真ん中に位置するサーバ
irc.rcac.tdi.co.jp、irc.kyoto.wide.ad.jp
を使ってみるといいと思います。
irc.tokyo.wide.ad.jpはrcacとの接続状況が悪くよく分断するようです。

同じサーバを使う場合
(どこかで告知しそれを見た人のみが来るチャンネル)

人が少なくてサーバ同士の接続関係で端に位置するサーバ
irc.huie.hokudai.ac.jp
を使ってみるといいと思います。
が、他のサーバを使う人がいる場合端にあるサーバは経由するサーバが多いのでラグも生じやすく分断もしやすくなります。

以上独り言終わり。

 もどっちゃえ(≧∇≦)