LUCK
---

@ LUCK な plum のページ

Last Modified: Jul. 15. 2000
---

1. 複数サーバ接続

ZenIRC は、複数のサーバに接続できますが、irchat に比べると使いやすいと は言えないかもしれません。そこで、plumsys/multicast.plm というモジュールを利用すれば、複数のサーバを単一のサーバのようにエミュ レートすることができます。よって、plum で中継すれば、irchat で一つの Emacs から複数サーバに繋ぐことができます。以下では、plum 2.33.1 につい て、説明します。plum-IRCnet.confplum-penguin.conf 等の複数の設定ファイル を用意して、plum を次のように起動します。

./plum IRCnet penguin >& /dev/null

こうすると、チャネル名は、#LUCK@IRCnet とか、#LUCK@penguin という名前 になります。plum.conf の場合だと、#LUCK@ となります。NICK コマンドで 指定する nick は、baikin01 のような @hoge の付いていないものが複数のサー バで共通の nick、baikin01@IRCnet や baikin01@penguin が各々のサーバの nick となるようです。デフォルトのサーバ名は、1 つ目の設定ファイルで直 接接続したサーバ名になっており、デフォルトのサーバに相互接続されたサー バ名は、各種コマンドで指定できます。しかし、2 つ目以降の設定ファイルで 接続するサーバ名は、指定できないコマンドが多くなっています。また、一方 で VERSION のように @penguin、penguin.luck.gr.jp@penguin という名前で 指定できるコマンドもあります(このパッチ で、MOTD, LUSERS, STATS, LINKS, TIME, TRACE, ADMIN, INFO, HELP といったコマンドが同様に使えるようになる。LINKS コマンドは、 *.jp@penguin といった感じで指定できる)。尚、user/away/client.plmuser/nick/client.plm は、sys/multicast.plm と併用すると、そのままでは 2 つ目以降の設定ファ イルで使えませんでした。multicast.plm のあるべき姿は良く知りませんが、 user/away/client.plm へのパッチ、 user/nick/client.plm へのパッチを 当てると使えるようになります。irchat から plum に繋ぐ為の ~/.emacs の 設定の一例を挙げておきます。
  (setq irchat-server "penguin.luck.gr.jp:6660:PlumPassword")
  (setq irchat-ctcp-userinfo "土江 伸宏 <tsuchie@ymg.urban.ne.jp>")
  (setq irchat-channel-buffer-mode t)
  (setq irchat-display-channel-always t)
  (setq irchat-default-freeze-local nil)
  (setq irchat-channel-signoff-msg "抜けまする")
  ;(setq irchat-signoff-msg "落ちまする")  ---> irchat-jp では、何故か化けます。但し、plum 〜 irchat 間のみの話で他の人には見えないので些細な問題です。irchat-pj では化けません。
  (autoload 'irchat "irchat" "Internet Relay Chat." t)

2. カスタマイズのすすめ

plum-IRCnet.conf や plum-penguin.conf の中に、
  + ctcp/userinfo.plm
  ctcp.userinfo.info: バイキンマン1号 伝言ヘルプ
  ctcp.userinfo.info: ・「1号伝言 nick message」で、nick に伝言できます。
  ctcp.userinfo.info: ・「1号伝言ある?」で、伝言の有無を確認できます。
  ctcp.userinfo.info: ・「1号伝言教えて」で、伝言を見ることができます。

という感じで、複数の ctcp.userinfo.info というプロパティを設定してます が、そのままの ctcp/userinfo.plm では、USERINFO を一行しか表示できませ ん。これは、
  $info = &'property($'userno[$serverno], 'info');
  if ($info) {
    &'s_print($serverno, '', 'NOTICE', $nick, "\cA" . join(' ', $cmd, $info) . "\cA");
  }

の部分を
  foreach $info (&'property($'userno[$serverno], 'info')) {
    if ($info) {
      &'s_print($serverno, '', 'NOTICE', $nick, "\cA" . join(' ', $cmd, $info) . "\cA");
    }
  }

と変更することで簡単に複数行表示ができるようになります。plum*.conf や モジュールの変更は、

+ sys/conf/update.plm

+ sys/module/update.plm

を設定しておくと自動的に反映されますので、便利です。

3. web ブラウザで CTCP

plum には sys/web.plm という、web プラウザから plum にアクセス出来るモ ジュールが用意されています。これを使う事で IRC クライアントが手元に無 い場合でも、web ブラウザさえあれば IRC に接続する事が出来ます。
sys/web.plm を使用するには、plum.conf に以下の様に設定して下さい。

  + sys/web.plm
  sys.web.method: post
  sys.web.client: *.jp:[ポートNO] [ユーザ名]:[パスワード]
  sys.web.header: %H:%M
  sys.web.line: 100
  sys.web.kanji: jis,sjis

後、標準の sys/web.plm では CTCP コマンドが実装されていませんので、そ れを使用出来る様にするパッチを作りました。 よろしかったら使ってみて下さい。

4. ログをメールで get

log/mail.plm というモジュールを使えば、log/channel.plm 等で取ったログをメールで送信してくれたりします。例えば、 plum-IRCnet.conf の中では、こんな風に設定してあります。
  + log/mail.plm
  log.mail.from: tsuchie@luck.gr.jp
  log.mail.smtpserver: localhost
  log.mail.directory: IRCnet
  log.mail.file: luck%y%m%d tsuchie@ymg.urban.ne.jp

しかし、そのままの log/mail.plm では、

X-Authentication-Warning: penguin.luck.gr.jp: penguin.luck.gr.jp [210.251.121.212] didn't use HELO protocol

というヘッダがつくことになるので、こんなパッチ を当ててみてはいかがでしょう。

# at your own risk でだうぞ!
Written by バイキンマン1号 <tsuchie@ymg.urban.ne.jp>
大橋 彰 <bg66@luck.gr.jp>
---
[LUCKなIRCのページ] [TOPページ] [LUCKについて] [LUCKな行動] [LUCKな人たち] [LUCKなリンク]
---
Linux Users group ChugoKu