Об IRC. Доступно и со вкусом.
Счетчик киков и скрипт автоприветствие
В данной статье мы рассмотрим как считать количество киков и банов, а также научимся писать простейшее, но \"разумное\" автоприветствие.
Часто в irc, при киках, можно наблюдать следущую картину:
** Pupkin kick vasya from #help [Kick: 150 Ban: 50]
Тоже хотите такое, да запросто, сейчас сделаем. Итак открываем Скрипты(Remote), нажатием alt+r или соответствующей кнопки на тулбаре и пишем туда следущее:
on *:kick:#: {
; если вы кикаете
if ($nick == $me) {
; если переменная существует увеличиваем ее на 1
if (%kickun) { inc %kickun }
; если не существует, создаем и приравниваем единице
else { %kickun = 1 }
}
}
; тут все аналогично
on *:ban:#: {
if ($nick == $me) {
if (%banick) { inc %banick }
else { %banick = 1 }
}
}
Далее ползем в закладку Попапы(Popups), сверху нажимаем Вид(View) и выбираем Никлист(Nicklist). И вставляем туда следущее:
Кик/Бан: mode # +b $address($$1,2) | kick # $$1 [Kick: %kickun Ban: %banick $+ ]
Ну вот и все, теперь воспользовавшись только что созданной меню мы увидим:
* ghjks sets mode: +b *!*@127.0.0.1
* Pupkin was kicked by ghjks ([Kick: 1 Ban: 1])
А теперь напишем скрипт автоприветствия, да не простой, а заумный, мы ведь все-таки необычные скриптописатели.
Ну-с самый простой скрипт приветствия будет выглядеть так:
on !*:join:#: Привет $nick!
Но, согласитесь глупо будет выглядеть, когда зайдут сразу 3-5 юзеров или кто-нибудь из них еще и перезайдет. Поэтому мы будем писать \"умный\" скрипт. Для начала создадим переменную с приветствиями, делаем это так /set %privet привет ку хай hi re превед hello прет ре (пишется это в едитбоксе, строчке где вы пишете весь текст, для тех кто в танке ;). Делаем мы это, чтобы не повторять какждый раз одно и тоже однообразное \"привет\". Можно также, по желанию, занести эти слова в txt файлик и обрабатывать $read, можете прочитать одну из моих предыдущих статей и сделать самим.
Итак, открываем наши любимые скрипты(remote) и пишем туда следущий код:
on *:join:#: {
; если переменной нету
if ($eval(% $+ $network $+ . $+ $chan $+ . $+ $nick,2) == $null) {
; создаем ее на 60 сек
set -u60 $eval(% $+ $network $+ . $+ $chan $+ . $+ $nick,1) 1
; здороваемся, выбирая приветствие рандомайзом
msg # $gettok(%privet,$rand(1,$numtok(%privet,32)),32) $nick
}
}
Работает это чудо так: заходит ник на канал, мы здороваемся рандомным приветствием и заносим ник в переменную на 60 сек, т.е. если он в течение этого времени перезайдет то мы больше не поздороваемся. Простенько и со вкусом ;)
На этом пока все, удачи.
** Pupkin kick vasya from #help [Kick: 150 Ban: 50]
Тоже хотите такое, да запросто, сейчас сделаем. Итак открываем Скрипты(Remote), нажатием alt+r или соответствующей кнопки на тулбаре и пишем туда следущее:
on *:kick:#: {
; если вы кикаете
if ($nick == $me) {
; если переменная существует увеличиваем ее на 1
if (%kickun) { inc %kickun }
; если не существует, создаем и приравниваем единице
else { %kickun = 1 }
}
}
; тут все аналогично
on *:ban:#: {
if ($nick == $me) {
if (%banick) { inc %banick }
else { %banick = 1 }
}
}
Далее ползем в закладку Попапы(Popups), сверху нажимаем Вид(View) и выбираем Никлист(Nicklist). И вставляем туда следущее:
Кик/Бан: mode # +b $address($$1,2) | kick # $$1 [Kick: %kickun Ban: %banick $+ ]
Ну вот и все, теперь воспользовавшись только что созданной меню мы увидим:
* ghjks sets mode: +b *!*@127.0.0.1
* Pupkin was kicked by ghjks ([Kick: 1 Ban: 1])
А теперь напишем скрипт автоприветствия, да не простой, а заумный, мы ведь все-таки необычные скриптописатели.
Ну-с самый простой скрипт приветствия будет выглядеть так:
on !*:join:#: Привет $nick!
Но, согласитесь глупо будет выглядеть, когда зайдут сразу 3-5 юзеров или кто-нибудь из них еще и перезайдет. Поэтому мы будем писать \"умный\" скрипт. Для начала создадим переменную с приветствиями, делаем это так /set %privet привет ку хай hi re превед hello прет ре (пишется это в едитбоксе, строчке где вы пишете весь текст, для тех кто в танке ;). Делаем мы это, чтобы не повторять какждый раз одно и тоже однообразное \"привет\". Можно также, по желанию, занести эти слова в txt файлик и обрабатывать $read, можете прочитать одну из моих предыдущих статей и сделать самим.
Итак, открываем наши любимые скрипты(remote) и пишем туда следущий код:
on *:join:#: {
; если переменной нету
if ($eval(% $+ $network $+ . $+ $chan $+ . $+ $nick,2) == $null) {
; создаем ее на 60 сек
set -u60 $eval(% $+ $network $+ . $+ $chan $+ . $+ $nick,1) 1
; здороваемся, выбирая приветствие рандомайзом
msg # $gettok(%privet,$rand(1,$numtok(%privet,32)),32) $nick
}
}
Работает это чудо так: заходит ник на канал, мы здороваемся рандомным приветствием и заносим ник в переменную на 60 сек, т.е. если он в течение этого времени перезайдет то мы больше не поздороваемся. Простенько и со вкусом ;)
На этом пока все, удачи.
Опубликовал: yXo, 07.04.2006