div.main {margin-left: 20pt; margin-right: 20pt}KVirc scripting Источник: http://nix.h1.ru Автор: SHuRuP email: mailto:shurup@xakep.ru?subject=nix www:
http://nix.h1.ru/ icq:
76011665
В 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 NICK 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://nix.h1.ru")
{ msg $1 yes, i have been there. it's cool site about
*nix-systems } Если на канале появляется текст
http://nix.h1.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 - помощь.
|