ダイスボットが特定のチャンネルで巧く動きません
国内のIRCでは、伝統的にiso-2022-jp(いわゆるJISコード)が採用されています。
ところが実はIRCでは、多バイトコードについての規定がありません。
国内でもUTF-8を使っている所もありますし、海外に至ってはシフトJISの所もあるそうな。
そんな訳で、IRCで特別な意味がある文字(「,」とか「:」)と同じ文字コードが含まれている全角文字はIRCサーバーの方で誤解してしまう原因になる訳です。
多くの国内サーバは、そんな日本語特有の不具合を回避するパッチをあてて対処しているようです。
さて、実は現状私のダイスボットに使われている「NET-IRC」というモジュールは古くからあるIRCモジュールの一つです。
このモジュールはIRCの規格通りに動こうとするのです。
従って「:」や「,」の含まれる全角文字を使ってチャンネルを作ると、そのチャンネルでは上手く動作しません。
とはいっても、そんな文字判らないよ!という方が普通だと思います。
正直、私も判りません(笑
ネットを調べると、ちゃんとそういう問題について調べている方がいるものです。
チャンネル名に使用できる文字の制限
書かれた時期が少々古いですが、国内サーバでも全て対処されたと限らない様子ですね。
いずれにせよ、ユーザの賢い対応策としてサーバにとって紛らわしい文字はチャンネル名に使うのを避けるというのが間違いないと思います。
いずれほとんどのサーバが対応する(もしくは現状している)のは確実と思われますので、ダイスボットの対応も考えていこうとは思っています。
| 固定リンク | コメント (0) | トラックバック (0)






![G・パスカル・ザカリー: 闘うプログラマー[新装版]](http://ecx.images-amazon.com/images/I/51kV6tOSplL._SL75_.jpg)

最近のコメント