綾小路龍之介の素人思考

[weechat] 組み込みコマンドと同名のコマンドをサーバに送信

例えば/helpはweechatの組み込みコマンド。IRCサーバに対してhelpという文字列を送信するには、weechatの組み込みコマンドである、/quoteコマンドを使えばいい。

単純に/helpと打つだけだと、weechatの組み込みコマンドの結果が返ってくる。これは期待された結果ではない。

/help
01:14:00 weechat |
01:14:00 weechat | [core]
01:14:00 weechat |   away    color   filter  input   mute    quit    set     uptime  window
01:14:00 weechat |   bar     command help    key     plugin  reload  unset   version
01:14:00 weechat |   buffer  debug   history layout  proxy   save    upgrade wait
01:14:00 weechat |
01:14:00 weechat | [irc]
01:14:00 weechat |   admin      disconnect lusers     part       saquit     userhost
01:14:00 weechat |   allchan    halfop     map        ping       server     users
01:14:00 weechat |   allserv    ignore     me         pong       service    version
01:14:00 weechat |   ban        info       mode       query      servlist   voice
01:14:00 weechat |   connect    invite     motd       quote      squery     wallchops
01:14:00 weechat |   ctcp       ison       msg        reconnect  squit      wallops
01:14:00 weechat |   cycle      join       names      rehash     stats      who
01:14:00 weechat |   dcc        kick       nick       restart    summon     whois
01:14:00 weechat |   dehalfop   kickban    notice     sajoin     time       whowas
01:14:00 weechat |   deop       kill       notify     samode     topic
01:14:00 weechat |   devoice    links      op         sanick     trace
01:14:00 weechat |   die        list       oper       sapart     unban
01:14:00 weechat |
01:14:00 weechat | [rmodifier]
01:14:00 weechat |   rmodifier
01:14:00 weechat |
01:14:00 weechat | [relay]
01:14:00 weechat |   relay
01:14:00 weechat |
01:14:00 weechat | [perl]
01:14:00 weechat |   perl
01:14:00 weechat |
01:14:00 weechat | [alias]
01:14:00 weechat |   alias   CL      J       M       Q       T       twit24  V       WII
01:14:00 weechat |   BYE     CLOSE   K       MUB     REDRAW  twit    twit6   W       WW
01:14:00 weechat |   C       EXIT    KB      N       SAY     twit12  UB      WC
01:14:00 weechat |   CHAT    IG      LEAVE   newchan SIGNOFF twit18  unalias WI
01:14:00 weechat |
01:14:00 weechat | [xfer]
01:14:00 weechat |   me   xfer
01:14:00 weechat |
01:14:00 weechat | [charset]
01:14:00 weechat |   charset
01:14:00 weechat |
01:14:00 weechat | [logger]
01:14:00 weechat |   logger

サーバにhelpを送信するにはquoteコマンドを使う。まずはhelpをチェックしておく。

/help quote
01:17:31 weechat |
01:17:31 weechat | [irc]  /quote  [-server <server>] <data>
01:17:31 weechat |
01:17:31 weechat | send raw data to server without parsing
01:17:31 weechat |
01:17:31 weechat | server: send to this server (internal name)
01:17:31 weechat |   data: raw data to send

つまり以下のようにすればよいということが判る。

/quote -server hoge help
01:19:40 hoge  -- | hoge (hoge): PRIVMSG
01:19:40 hoge  -- | hoge (hoge): NJOIN
01:19:40 hoge  -- | hoge (hoge): JOIN
01:19:40 hoge  -- | hoge (hoge): MODE
01:19:40 hoge  -- | hoge (hoge): NICK
01:19:40 hoge  -- | hoge (hoge): PART
01:19:40 hoge  -- | hoge (hoge): QUIT
01:19:40 hoge  -- | hoge (hoge): NOTICE
01:19:40 hoge  -- | hoge (hoge): KICK
01:19:40 hoge  -- | hoge (hoge): SERVER
01:19:40 hoge  -- | hoge (hoge): TRACE
01:19:40 hoge  -- | hoge (hoge): TOPIC
01:19:40 hoge  -- | hoge (hoge): INVITE
01:19:40 hoge  -- | hoge (hoge): WALLOPS
01:19:40 hoge  -- | hoge (hoge): PING
01:19:40 hoge  -- | hoge (hoge): PONG
01:19:40 hoge  -- | hoge (hoge): ERROR
01:19:40 hoge  -- | hoge (hoge): KILL
01:19:40 hoge  -- | hoge (hoge): USER
01:19:40 hoge  -- | hoge (hoge): AWAY
01:19:40 hoge  -- | hoge (hoge): UMODE
01:19:40 hoge  -- | hoge (hoge): ISON
01:19:40 hoge  -- | hoge (hoge): SQUIT
01:19:40 hoge  -- | hoge (hoge): WHOIS
01:19:40 hoge  -- | hoge (hoge): WHO
01:19:40 hoge  -- | hoge (hoge): WHOWAS
01:19:40 hoge  -- | hoge (hoge): LIST
01:19:40 hoge  -- | hoge (hoge): LISTX
01:19:40 hoge  -- | hoge (hoge): NAMES
01:19:40 hoge  -- | hoge (hoge): USERHOST
01:19:40 hoge  -- | hoge (hoge): PASS
01:19:40 hoge  -- | hoge (hoge): LUSERS
01:19:40 hoge  -- | hoge (hoge): TIME
01:19:40 hoge  -- | hoge (hoge): OPER
01:19:40 hoge  -- | hoge (hoge): CONNECT
01:19:40 hoge  -- | hoge (hoge): VERSION
01:19:40 hoge  -- | hoge (hoge): STATS
01:19:40 hoge  -- | hoge (hoge): LINKS
01:19:40 hoge  -- | hoge (hoge): ADMIN
01:19:40 hoge  -- | hoge (hoge): USERS
01:19:40 hoge  -- | hoge (hoge): SUMMON
01:19:40 hoge  -- | hoge (hoge): HELP
01:19:40 hoge  -- | hoge (hoge): INFO
01:19:40 hoge  -- | hoge (hoge): MOTD
01:19:40 hoge  -- | hoge (hoge): CLOSE
01:19:40 hoge  -- | hoge (hoge): RECONNECT
01:19:40 hoge  -- | hoge (hoge): SERVICE
01:19:40 hoge  -- | hoge (hoge): SQUERY
01:19:40 hoge  -- | hoge (hoge): SERVLIST
01:19:40 hoge  -- | hoge (hoge): HAZH
01:19:40 hoge  -- | hoge (hoge): DNS
01:19:40 hoge  -- | hoge (hoge): REHASH

quoteコマンドであっても、charsetは自動的に変えられてしまうようだ。以下の2つは同じ出力を与える。

/quote -server hoge list #てすと
/list #てすと
01:29:40 hoge  -- | #てすと(117): てすとちゃんねる
01:29:40 hoge  -- | End of LIST
01:29:53 hoge  -- | #てすと(117): てすとちゃんねる
01:29:53 hoge  -- | End of LIST

リファレンス

  1. RFC1459: Internet Relay Chat Protocol (IRC)
  2. irc rfc - Google 検索

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2008-12-21T01:32:39+09:00
  2. Modified: 2008-12-21T01:32:39+09:00
  3. Generated: 2017-04-06T23:09:16+09:00