ダイスボットが特定のチャンネルで巧く動きません
国内のIRCでは、伝統的にiso-2022-jp(いわゆるJISコード)が採用されています。
ところが実はIRCでは、多バイトコードについての規定がありません。
国内でもUTF-8を使っている所もありますし、海外に至ってはシフトJISの所もあるそうな。
いずれにせよ、アスキーコードだろうが日本語全角文字だろうがアラビア文字だろうがIRCサーバは全く気にしないで同じ処理をしようとします。
そんな訳で、IRCで特別な意味がある文字(「,」とか「:」)と同じ文字コードが含まれている全角文字はIRCサーバーの方で誤解してしまう原因になる訳です。
多くの国内サーバは、そんな日本語特有の不具合を回避するパッチをあてて対処しているようです。
さて、実は現状私のダイスボットに使われている「NET-IRC」というモジュールは古くからあるIRCモジュールの一つです。
このモジュールはIRCの規格通りに動こうとするのです。
従って「:」や「,」の含まれる全角文字を使ってチャンネルを作ると、そのチャンネルでは上手く動作しません。
とはいっても、そんな文字判らないよ!という方が普通だと思います。
正直、私も判りません(笑
ネットを調べると、ちゃんとそういう問題について調べている方がいるものです。
チャンネル名に使用できる文字の制限
書かれた時期が少々古いですが、国内サーバでも全て対処されたと限らない様子ですね。
いずれにせよ、ユーザの賢い対応策としてサーバにとって紛らわしい文字はチャンネル名に使うのを避けるというのが間違いないと思います。
いずれほとんどのサーバが対応する(もしくは現状している)のは確実と思われますので、ダイスボットの対応も考えていこうとは思っています。
« B&Cに大工事が必要かもしれません | トップページ | ActivePerlのdecodeがおかしい? »
「IRC用ダイス&カードボット「ボーンズ&カーズ」(Perl)」カテゴリの記事
- cre系のIRCサーバがUTF-8に移行したようですね(2012.05.27)
- らぁさんの特殊ダイスサンプルコード(2012.05.26)
- 「ボーンズ&カーズ」Ver1.2.45公開(2011.09.11)
- 「ボーンズ&カーズ」Ver1.2.44公開(2011.09.05)
- 「ボーンズ&カーズ」Ver1.2.43公開(2011.08.27)
「困ったときには(FAQ)」カテゴリの記事
- どどんとふの接続ユーザが増えると重くなる訳は?(2015.04.17)
- B&C用に表のテキストを起こそうと思うのですが、どんな書式が良いですか?(2011.06.04)
- PPMにNET-IRCモジュールがない?!(2010.12.11)
- ActivePerlのインストールが判りません!(2010.01.10)
- このダイス、出目が偏ってませんか?(2010.01.06)
この記事へのコメントは終了しました。
コメント