Требуется такой скриптик. Я сижу, например, в конференции, где много людей. Необходимо, чтобы сообщения какого-то одного пользователя дублировались мне в приват.
Я чего-то потыркался, маны по tcl почитал. Язык понятный. Мне не понятно как все это организовать именно в ткаббере.
Как в кофиге это все прописать.
Спасибо заранее за любую помощь.


Re: Мониторинг сообщений на общем канале.
На верхнем уровне Config.tcl:
set carbon_copied { tkabber@conference.jabber.ru/bigote talks@conference.jabber.ru/missenka linux-talks@conference.jabber.ru/HAL9000 linux-talks@conference.jabber.ru/Monstreek linux-talks@conference.jabber.ru/Fixer miranda-im@conference.jabber.ru/mlu } proc muc_cc_copy {xlib from id type is_subject subject body err thread priority x} { variable carbon_copied if {$type eq "groupchat" && !$is_subject && [lcontain $carbon_copied $from]} { ::client:message $xlib $from chat $x -body $body } } hook::add process_message_hook muc_cc_copy proc muc_cc_trace_nickname_change {xlib group nick new_nick} { variable carbon_copied if {[lcontain $carbon_copied $group/$nick]} { lappend carbon_copied $group/$new_nick } } hook::add room_nickname_changed_hook muc_cc_trace_nickname_changeСмена отслеживаемых ников обрабатывается очень примитивно: новый ник просто добавляется в список отслеживаемых. Если интересно сделать более понтовое слежение, изучай код plugins/chat/muc_ignore.tcl, но этого подхода должно быть достаточно для большинства случаев.
Премного благодарен!
Премного благодарен!
Поспешил немного. Выдает
Поспешил немного.
Выдает ошибку.
http://img.lumiro.net/images/e72690527e25372e9affd804b743cc09.jpg
То, что kostix предложил,
То, что kostix предложил, будет работать только на версии из SVN.
Re: Поспешил немного. Выдает
Для версий <= 0.11.1 строчку
надо заменить на
(можно в одну строку, без "\").
Версия у меня 0.11.1 под
Версия у меня 0.11.1 под винду.
И все равно выдает ошибку. немного другую правда
http://img.lumiro.net/images/ac69661daaf1ef4340c076200f8621d3.jpg
Re: Версия у меня 0.11.1 под
Потому что в определении процедуры muc_cc_copy надо было также переименовать первый параметр с xlib на connid. Или — наоборот — оставить имя xlib у переменной, из которой берётся значение первого аргумента вызова ::client:message.
Короче, должно получиться
proc muc_cc_copy {connid from id type is_subject subject body err thread priority x} { variable carbon_copied if {$type eq "groupchat" && !$is_subject && [lcontain $carbon_copied $from]} { ::client:message $connid $from $id chat \ $is_subject $subject $body $err $thread $priority $x } }Черт, действительно, не
Черт, действительно, не подумал.
Все прекрасно, но есть еще кое что :-)
Вообще никак не реагирует скрипт, если я хочу его использовать для ирц комнаты.
Например, ragnarokonline%irc.ru@irc.mytlt.ru/Speller
Процент в названии мешает? Можно ли это побороть?
Re: Черт, действительно, не
Проверил — работает с
set carbon_copied { {ragnarokonline%irc.ru@irc.007spb.ru/[RO]МАГ_Простак} }Гейт на irc.007spb.ru — обычный mod_irc от ejabberd 2.0.3 (на irc.mytlt.ru меня просто не пустило по превышению лимита, но там, судя version info сервера, примерно то же самое работает).
Я счастлив. Дай вам бог
Я счастлив. Дай вам бог здоровья ;-)