Scriptable IRC-клиент с настройкой кодирования для каждого канала и настройками автоматического выполнения

796

Я ищу IRC-клиента, который позволил бы мне устанавливать различную кодировку для канала, а не только для сети. Это должно быть сценарием.

В настоящее время я вижу эти варианты

  • ChatZilla. Имеет опции для каждого канала. Скрипт в JS. :)
  • Quassel. Настройка кодировки только для сети. Не для сценариев.
  • XChat. Настройка кодировки только для сети. Скрипт в Perl, Python, может быть, и другие.
  • Smuxi. Настройка кодировки только для сети. Не для сценариев.
  • Irssi. Кодирование по сети в лучшем случае. Скрипт в Perl.
  • KVIrc. Кодирование на канал. Скрипт на языке Perl и KVIrc.

Клиент может быть GUI или CLI. Я был бы признателен, если бы вы добавили дополнительные параметры к первому и последнему элементам в списке, которые, кажется, работают для того, что я просил (первый - это клиент в браузере и потребляет оперативную память после короткого времени безотказной работы, поскольку сообщения канала являются таблицей HTML: добавление 500 строк в таблицу и удаление 500 строк имеет значительный объем памяти).

Благодарю.

0

1 ответ на вопрос

3
grawity

Both irssi and Weechat have per-channel encodings.

  • Weechat (scriptable in Perl, Python, Ruby, Tcl, Guile and C [plugins]; actively developed)

    For current buffer:

    /charset encode koi8-r /charset decode koi8-r 

    For a given buffer:

    /set charset.encode.irc.freenode.#postfix-ru koi8-r /set charset.decode.irc.freenode.#postfix-ru koi8-r 

    For a given network:

    /set charset.encode.irc.rusnet cp1251 /set charset.decode.irc.rusnet cp1251 

    Global:

    /set charset.default.encode utf-8 /set charset.default.decode iso8859-1 

    Note: Weechat always tries UTF-8 first, and uses charset.default.decode as fallback. If this causes problems, it's likely to be fixed quickly when reported.

  • irssi (scriptable in Perl and C [plugins]):

    For a given network tag/channel:

    /recode add freenode/#postfix-ru koi8-r 

    For a given network tag:

    /recode add rusnet cp1251 

    Defaults:

    /set recode_out_default_charset utf-8 /set recode_fallback iso8859-1 

    Note: "network tag" can differ from network name; if you do /connect freenode twice, it will open connections tagged freenode and freenode2.

Похожие вопросы