В разделе Remote описываются действия происходящие в ответ на некоторые события в мирке, например, при входе кого-либо на канал. Вот далеко не полный перечень возможных событий:
ACTION - сообщения от третьего лица (/me).
TEXT - текстовые сообщения пользователей (не свои)
BAN - установка бан (+b )
DEOP - снятие опа (-о) с кого-либо
DEVOICE - снятие войса (-v)
INPUT - нажатие клавиши Enter, после ввода текста сообщения
INVITE - приглашение на канал
JOIN - заход кого-либо на канал
KICK - кик кого-либо с канала
MODE - изменение модов канала
NICK - смену ника
NOTIFY - пользователь из нотифи-листа заходит на IRC
NOTICE - получение нотиса
OP - получение опа (+о)
OPEN - открытие окон
TOPIC - смена топика
UNBAN - снятие бана (-b)
UNOTIFY - пользователь из нотифи-листа покидает IRC
USERMODE - изменение собственных пользовательских модов
VOICE - получение войса (+v)
Общий синтаксис обработчиков событий:
on <префикс> или <уровень>:<событие>:<фильтр>(Фильтр используется не везде):<место>:<команды>
<уровень> - уровень пользователя для которого срабатывает событие. Соответствие пользователь-уровень задается на вкладке Users (синтаксис: уровень: маска). В качестве уровня может использоваться число, именованный уровень или строка., Например: ADMIN:*!*@Lamerz.net
<префикс> - задает ограничение на уровни. Существуют следующие префиксы:
+ - скрипт сработает только для пользователей, уровень которых не превышает заданный
* - скрипт сработает для всех пользователей
! - скрипт сработает для всех, кроме себя
& - скрипт не сработает, если предыдущий скрипт был остановлен командой /halt или /haltdef
@ - скрипт сработает только если использующий скрипт имеет оп на канале на котором он сработал
<событие> - имя события на которое будет срабатывать заданный скрипт (или * для срабатывания на любое событие)
<фильтр>(Фильтр используется не везде) - фильтр на событие. Скрипт сработает только если событие содержит в параметрах строку удовлетворяющую фильтру. Возможны следующие варианты:
* - любой текст
& - любое слово
text - текст, состоящий из слова text
text* - текст, начинающийся со слова text
*text - текст, заканчивающийся словом text
*text* - текст, содержащий в себе слово text
В фильтрах большие и маленькие латинские буквы неразличимы, в отличии от русских. Так же может использоваться динамический фильтр. Он позволяет при помощи идентификатора $(..) вычислить значения подставленных в него идентификаторов.
<место> - место срабатывания скрипта.
Пропускаются только события возникшие в определенном месте. Возможны следующие варианты: ? - любое событие в привате
# - любое событие на канале
#zoo - любое событие на канале #zoo
#southnet,#zoo - любое событие на каналах #southnet и #zoo
* - любое событие на канале или привате
В качестве места срабатывания может быть использована глобальная переменная
<команды> - реакция на событие, состоящая из произвольного числа вызовов команд
Примеры(скрипты вставлять нажав ALT+R, вкладка Remote):
Code
on *:TEXT:privet:#:msg $chan Привет старик:)
если кто-либо напишет на любом канале слово privet или PRIVET, то скрипт выдаст на канал сообщение "Привет старик:)"
Code
on *:TEXT:*перни*:#flood:{
msg $chan смотри как бы сам не пернул
}
если кто-либо напишет на канале #flood фразу содержащую слово перни, то скрипт выдаст на канал сообщение "смотри как бы сам не пернул"
Code
on *:JOIN:#: {
msg $chan Привет $nick $+ , как дела? }
если кто-либо зайдет на любой канал то ты напишеш на канал "Привет ник, как дела?"