События Lua API в RusHub

Материал из MyDC's Wiki

(Перенаправлено с События LUA API в RusHub)
Перейти к: навигация, поиск

UID — идентификатор пользователя, который отослал команду. UID представляет из себя указатель на реальную структуру соединения пользователя (type(UID) = "userdata"). Введён с целью оптимизации выбора пользователя без нагрузки Lua-стека.

Содержание

OnStartup

OnStartup()

Описание:

Функция выполняется при старте скрипта.

Возвращаемое значение:

любое.


OnExit

OnExit()

Описание:

Функция выполняется при остановке скрипта.

Возвращаемое значение:

любое.


OnError

OnError(sErrMsg)

Описание:

Функция выполняется при ошибке в скрипте.

Возвращаемое значение:

true или 1 — не останавливать скрипт при ошибке во время выполнения.
Исключения составляют таймерные функции, которые останавливают скрипт при ошибке, дабы не загружать систему и не прийти к переполнению лога.


OnScriptError

OnScriptError(sScriptName, sErrMsg, bStoped)

Описание:

Функция выполняется при возникновении ошибки в скрипте sScriptName. sErrMsg — сообщение с ошибкой. Флаг bStoped равен true если скрипт, в котором возникла ошибка, был остановлен, в противном случае флаг bStoped равен false.
Функция не вызывается для текущего скрипта. Для отслеживания ошибок в текущем скрипте, нужно использовать функцию OnError(sErrMsg).
Напомню, что по умолчанию скрипт отключается при ошибке, отключение скрипта можно предотвратить возвратом true в функции OnError этого скрипта.

Возвращаемое значение:

true или 1 — не вызывать это событие в нижестоящих скриптах (т.е. прекращение действия события).


OnScriptStart

OnScriptStart(sScriptName)

Описание:

Функция выполняется при старте скрипта sScriptName.

Возвращаемое значение:

true или 1 — не вызывать это событие в нижестоящих скриптах (т.е. прекращение действия события).


OnScriptStop

OnScriptStop(sScriptName)

Описание:

Функция выполняется при остановке скрипта sScriptName.

Возвращаемое значение:

true или 1 — не вызывать это событие в ниже стоящих скриптах (т.е. прекращение действия события).


Последовательность входа/выхода

OnUserConnected

OnUserConnected(UID)

Описание:

Функция выполняется при входе пользователя.
Функция выполняется после отправки пользователю первичной команды $Lock и до любого другого действия на хабе.
На данном этапе определён только IP-адрес, порт и MAC-адрес пользователя.

Возвращаемое значение:

true или 1 — не отправлять при входе надпись: "Этот хаб работает под управлением...".


OnUserDisconnected

OnUserDisconnected(UID)

Описание:

Функция выполняется после закрытия соединения с пользователем.
Функция является последней функцией перед окончательным удалением соединения.
На данном этапе определён только IP-адрес, порт и MAC-адрес пользователя, все остальные данные уже удалены.

Возвращаемое значение:

любое.


OnUserEnter

OnUserEnter(UID)

Описание:

Функция выполняется при окончательном входе пользователя, после добавления пользователя в списки.
Функция является последним этапом входа на хаб.

Возвращаемое значение:

любое.


OnUserExit

OnUserExit(UID)

Описание:

Функция выполняется при выходе пользователя, перед удалением пользователя из списков.
Функция является первым этапом выхода.

Возвращаемое значение:

любое.


OnSupports

OnSupports(UID, sData)

Описание:

Функция выполняется при обмене характеристиками между клиентом и сервером $Supports.
Функция не будет выполняться, если клиент не поддерживает никаких дополнений и характеристик.

Возвращаемое значение:

true или 1 — не отправлять характеристики хаба клиенту.


OnKey

OnKey(UID, sData)

Описание:

Функция выполняется при получении ключа от клиента $Key.

Возвращаемое значение:

true или 1 — проверять ключ.


OnValidateNick

OnValidateNick(UID, sData)

Описание:

Функция выполняется после проверки ника и до проверки необходимости пароля $ValidateNick. Ник пользователя уже определён.

Возвращаемое значение:

true или 1 — отправить запрос на получение пароля.

Позволяет проводить регистрацию посредством скриптов.

OnMyPass

OnMyPass(UID, sData)

Описание:

Функция выполняется после поступления на хаб пароля от пользователя $MyPass.

Возвращаемое значение:

true или 1 — вход оператора (отправка команды $LogedIn).


OnVersion

OnVersion(UID, sData)

Описание:

Функция выполняется после поступления на хаб версии протокола $Version.

Возвращаемое значение:

true или 1 — проверять равенство версии 1,0091.


OnGetNickList

OnGetNickList(UID, sData)

Описание:

Функция выполняется до отсылки списка пользователей $GetNickList.

Возвращаемое значение:

true или 1 — не отсылать список.


OnMyINFO

OnMyINFO(UID, sData)

Описание:

Функция выполняется при получении хабом команды $MyINFO.
Функция выполняется после всех проверок параметров и до рассылки всем пользователям.

Возвращаемое значение:

  1. return false, return nil, return 0 — безусловное выполнение события;
  2. return true, return 1 — блокировка события;
  3. return 2 — выполнение события и блокировка после обхода всех скриптов;
  4. return 3 — выполнение публичного события для всех соединений, кроме соединения, породившего это событие;
  5. return 4 — выполнение публичного события для всех соединений, кроме соединений, имеющих такой же IP-адрес, что и соединение, породившее это событие.

Примечание:

Возвращаемое значение игнорируется при первой отправке на хаб MyINFO строки, так как в случае блокировки события пользователь будет скрыт (возможно эту политику следует пересмотреть (опустить) в дальнейшем).


OnChat

OnChat(UID, sData)

Описание:

Функция выполняется при отправке в чат сообщения пользователем.
Функция выполняется после всех проверок и до отправки.

Возвращаемое значение:

  1. return false, return nil, return 0 — безусловное выполнение события;
  2. return true, return 1 — блокировка события;
  3. return 2 — выполнение события и блокировка после обхода всех скриптов;
  4. return 3 — выполнение публичного события для всех соединений, кроме соединения, породившего это событие;
  5. return 4 — выполнение публичного события для всех соединений, кроме соединений, имеющих такой же IP-адрес, что и соединение, породившее это событие.


OnTo

OnTo(UID, sData)

Описание:

Функция выполняется при отправке в сообщения приват $To.
Функция выполняется после всех проверок и до отправки.

Возвращаемое значение:

true или 1 — не отсылать сообщение.


OnConnectToMe

OnConnectToMe(UID, sData)

Описание:

Функция выполняется при попытке активного соединения $ConnectToMe.
Функция выполняется после всех проверок и до отправки.

Возвращаемое значение:

true или 1 — не соединять пользователей.


OnRevConnectToMe

OnRevConnectToMe(UID, sData)

Описание:

Функция выполняется при попытке пассивного соединения $RevConnectToMe.
Функция выполняется после всех проверок и до отправки.

Возвращаемое значение:

true или 1 — не соединять пользователей.


OnSearch

OnSearch(UID, sData)

Описание:

Функция выполняется при поиске $Search.
Функция выполняется после всех проверок и до отправки.

Возвращаемое значение:

  1. return false, return nil, return 0 — безусловное выполнение события;
  2. return true, return 1 — блокировка события;
  3. return 2 — выполнение события и блокировка после обхода всех скриптов;
  4. return 3 — выполнение публичного события для всех соединений, кроме соединения, породившего это событие;
  5. return 4 — выполнение публичного события для всех соединений, кроме соединений, имеющих такой же IP-адрес, что и соединение, породившее это событие.


OnSR

OnSR(UID, sData)

Описание:

Функция выполняется при поступлении на хаб результатов пассивного поиска $SR.
Функция выполняется после всех проверок и до отправки.

Возвращаемое значение:

true или 1 — блокировать результаты поиска.


OnAny

OnAny(UID, sData, iType)

Описание:

Функция выполняется при поступлении на хаб любой команды.
Существующие на данный момент типы:
0 — $MultiSearch
1 — $MultiSearch Hub:
2 — $Search Hub:
3 — $Search
4 — $SR
5 — $SR UDP
6 — $MyINFO
7 — $Supports
8 — $Key
9 — $ValidateNick
10 — $Version
11 — $GetNickList
12 — Chat
13 — $To
14 — $Quit
15 — $MyPass
16 — $ConnectToMe
17 — $RevConnectToMe
18 — $MultiConnectToMe
19 — $Kick
20 — $OpForceMove
21 — $GetINFO
22 — $MCTo
23 — $UserIP
24 — Ping
25 — Unknown

Возвращаемое значение:

true или 1 — блокировать команду.


OnUnknown

OnUnknown(UID, sData)

Описание:

Функция выполняется при поступлении на хаб любой неизвестной команды.

Возвращаемое значение:

true или 1 — не блокировать команду.


OnKick

OnKick(UID, sData)

Описание:

Функция выполняется при поступлении на хаб команды кика $Kick.

Возвращаемое значение:

любое.


OnOpForceMove

OnOpForceMove(UID, sData)

Описание:

Функция выполняется при поступлении на хаб команды перенаправления $OpForceMove.

Возвращаемое значение:

любое.


OnGetINFO

OnGetINFO(UID, sData)

Описание:

Функция выполняется при поступлении на хаб команды $GetINFO.

Возвращаемое значение:

true или 1 — не отсылать пользователю MyINFO запрошенного пользователя.


OnFlood

OnFlood(UID, iType, iNum)

Описание:

Функция выполняется при обнаружении флуда со стороны пользователя. Может служить для установки бана за флуд или для разрешения флуда операторам хаба.
Параметр iType указывает тип команды, которой флудили (см. OnAny).
Параметр iNum указывает номер сработавшего правила: 1 или 2 (см. настройки антифлуда).

Возвращаемое значение:

true или 1 — не отключать пользователя.


OnWebData

OnWebData(WebID, sData)

Описание:

Функция выполняется при поступлении данных на веб-сервер.

Возвращаемое значение:

true или 1 — не разъединять пользователя по окончанию работы данного события.


OnConfigChange

OnConfigChange(sName, sValue)

Описание:

Функция выполняется при изменении настройки. Параметр sName — название измененной настройки, sValue — новое значение настройки.

Возвращаемое значение:

любое.
Событие срабатывает только после изменения настройки при помощи объекта Config.


OnMCTo

OnMCTo(UID, sData)

Описание:

Функция выполняется при отправке приватного сообщения в чат $MCTo.
Функция выполняется после всех проверок и до отправки.

Возвращаемое значение:

true или 1 — не отсылать сообщение.


OnTimer

OnTimer(iId)

Описание:

Функция выполняется при срабатывании таймера, если при создании таймера ему не была назначена другая функция.
iId — идентификатор сработавшего таймера.


См. также

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
RusHub
Инструменты
Портал