Smartphoneすぎゃーんメモ2012-04-11ZNCでチャンネル情報を保存する方法を調べたIRCZNCではconfigファイルにchannel情報を書いておくことで、サーバ接続時にそこに自動でjoinできたりするのだけど、その設定を(手で直接confファイルを書き換える以外に)変更する方法が分からなかった。普通にjoinしてからSaveConfigコマンドを叩いてもそれは反映されない。結論としては以下の通り。変更をconfファイルに自動で反映してくれるmodule、chansaverが標準で入っているので、それをloadするだけ。memohttps://github.com/znc/znc/blob/master/modules/chansaver.cppchansaverを見つけるまで何故、普通にjoinした後にSaveConfigを叩いてもchannel情報が保存されないのか、を調べてみた。{...clientからSaveConfigコマンドを叩いた場合、CZNC::Get().GetConfigFile()が呼ばれているようだ。ここではグローバル設定が書き込まれた後、各ユーザごとの設定が書きだされる。"]");}}...で、CUser::WriteConfigで、channel情報を取得して書き込むようになっている。(pChan->InConfig())が真でないと書き込まれずにスキップされてしまう。これが、後でjoinしたchannelが保存されない理由のようだ。pChan->SetInConfig(false);なるほど、chansaverというモジュールがあるんだ、とココで初めて知って、これの説明を読んで、コレをLoadするだけで勝手に反映してもらえることに気づいた。