В KVirc'е очень удобно реализовано написание скриптов. За него отвечает Script Center, который подразделяется на: Aliases, Events, Raw, Popups, Toolbar, Variables, Objects, Tester, Help Browser; наибольший интерес, безусловно, вызывает Events. Events состоит из всевозможных явлений, при которых должно происходить какое-либо действие (например, при заходе на канал определенного человека, будет написано приветствие ему) Чтобы понять систему написания здесь скриптов, я буду приводить свои примеры (прошу обратить внимание, что это статья рассчитана на написание скриптов в сервисных irc-сетях, таких как WOMnet и DALnet.RU). Начнем с защиты: OnMeBan ('если меня забанили'): msg chanserv deop $1 $2 msg chanserv unban $1 notice $1 don't ban me, please Теперь при событии OnMeBan (когда тебя забанят) будет выполняться /msg chanserv deop $chan $nick (деоп через chanserv того, кто тебя забанил на канале, где тебя забанили), /msg chanserv unban $chan (снятие бана на канале через chanserv), /notice $nick don't ban me please (нотис тому, кто тебя забанил). (здесь и во всех примерах $nick - тот, кто совершил действие против тебя, $chan - канал, на котором это произошло). OnMeDeop ('если меня деопнули'): if ("$2" != "ChanServ") { msg chanserv op $1 $me notice $2 don't deop me, please msg chanserv deop $1 $2 } Теперь при событии OnMeDeop, если $nick не будет ChanServ, произойдет оп через chanserv, нотис $nick и деоп через chanserv провинившегося. OnMeKick ('если меня кикнули') if ("$1" != "FriendNICK") { msg chanserv deop $1 $2 msg chanserv unban $1 join $1 notice $2 don't kick me, please mode $1 +b *\!*@$4 kick $1 $2 protect kick } При событии OnMeKick, если $nick не твой друг (FriendNICK), то deop $nick, unban (многие любят использовать kick+ban, поэтому лучше перестраховаться), приход на $chan, нотис $nick, ban *!*@host_of_$nick, kick $nick. Теперь, защитившись, можно и просто приукрасить различные происшествия: OnChannelMessage ('при появлении определенного текста на канале') if ("$3" == "http://nixp.ru") { msg $1 yes, i have been there. it's cool site about *nix-systems } Если на канале появляется текст http://nixp.ru, пишется приватное сообщение $nick об этом сайте. OnJoin ('когда кто-то заходит') if ("$2" == "FriendNICK") { msg $1 hi, my friend! } Когда заходит твой друг (FriendNICK), на $chan пишется приветствие. OnMeOp ('когда меня опают') if ("$2" == "FriendNICK") { msg $1 $2, thanks } Если $nick является твоим другом (FriendNICK), то в канал пишется сообщение ему. OnTopic ('когда изменеятся топик канала') if ("$2" != "ChanServ") { msg $1 $4 - rulez new topic *<:) } Если топик изменит не chanserv,то в канал будет написано, что новый топик клевый :). Рассмотрим Aliases: Здесь все просто: New -> имя алиаса, а потом его значение. Например алиас выхода: alias - bye значение - ame прощается со всеми! значение - quit Теперь при вызове команды "/bye", на всех каналах будет написано, что ты со всеми прощаешься, а потом произойдет выход из irc. Raw - преобразователь raw-комманд. Popups - создание различных менюшек для более удобной работы. Toolbar - создание кнопочек на statusbar'е, которые выполняют какие-либо команды. Variables - придавать каким-либо переменным значения для их дальнейшего использования в своих скриптах. Objects - изменение значений встроенных алиасов и команд. Tester - тестирование алиасов и переменных. Help Browser - помощь. |
|