Скриптовое событие MyChat Server: OnBeforeRegister
Событие попытки регистрации нового пользователя.
Шаблон события
function OnBeforeRegister(iCID: integer; sMACAddress, sIP, sHardwareID, sCompNetName, sVer, sNick, sLastname, sFirstname,
sSurname: string; iAvatar, iGender: integer; sEmail: string;
iRole, iLoginStyle: integer;
sDomain, sClientType, sNodeUserAgent, sNodeReferral: string): boolean;
begin
// your own code
result := true;
end;
begin
end.
Вместо комментария может быть любой ваш код.
Описание параметров
Параметр |
Тип |
Значение |
iCID |
integer |
Connection ID клиента, уникальный сеансовый идентификатор в онлайн-структуре сетевых подключений к серверу; |
sMACAddress |
string |
MAC адрес сетевого интерфейса пользователя. Может быть пустым, если это не win32 приложение; |
sIP |
string |
IP адрес пользователя; |
sHardwareID |
string |
уникальный номер "железа" пользовательского компьютера, только если это win32 приложение, иначе — пустая строка; |
sCompNetName |
string |
сетевое имя компьютера пользователя (NETBIOS). Только для win32 приложения; |
sVer |
string |
версия клиентского приложения; |
sNick |
string |
ник регистрируемого пользователя; |
sLastname |
string |
фамилия пользователя; |
sFirstname |
string |
имя пользователя; |
sSurname |
string |
отчество пользователя; |
iAvatar |
integer |
номер аватара пользователя, число; |
iGender |
integer |
|
sEmail |
string |
адрес электронной почты пользователя; |
iRole |
integer |
индекс группы прав пользователя, число; |
iLoginStyle |
integer |
тип аутентификации пользователя; |
sDomain |
string |
имя домена пользователя; |
sClientType |
string |
|
sNodeUserAgent |
string |
User Agent браузера пользователя, если это WEB-чат; |
sNodeReferral |
string |
адрес реферальной ссылки, если пользователь регистрируется из WEB-чата. |
Возвращаемое значение
True, если вы разрешаете попытку регистрации нового пользователя, False — если нет.
Пример
const
sFileName = 'c:\temp\log.txt';
function OnBeforeRegister(iCID: integer; sMACAddress, sIP, sHardwareID, sCompNetName, sVer, sNick, sLastname, sFirstname,
sSurname: string; iAvatar, iGender: integer; sEmail: string;
iRole, iLoginStyle: integer;
sDomain, sClientType, sNodeUserAgent, sNodeReferral: string): boolean;
begin
DeleteFile(sFileName);
AddLineToFile('CID: ' + inttostr(iCID), sFileName);
AddLineToFile('MAC: ' + sMACAddress, sFileName);
AddLineToFile('IP: ' + sIP, sFileName);
AddLineToFile('HWID: ' + sHardwareID, sFileName);
AddLineToFile('NetName: ' + sCompNetName, sFileName);
AddLineToFile('Ver: ' + sVer, sFileName);
AddLineToFile('Nick: ' + sNick, sFileName);
AddLineToFile('Lastname: ' + sLastname, sFileName);
AddLineToFile('Firstname: ' + sFirstname, sFileName);
AddLineToFile('Surname: ' + sSurname, sFileName);
AddLineToFile('Avatar: ' + inttostr(iAvatar), sFileName);
AddLineToFile('Gender: ' + inttostr(iGender), sFileName);
AddLineToFile('Email: ' + sEmail, sFileName);
AddLineToFile('Role: ' + inttostr(iRole), sFileName);
AddLineToFile('LoginStyle: ' + inttostr(iLoginStyle), sFileName);
AddLineToFile('Domain: ' + sDomain, sFileName);
AddLineToFile('ClientType: ' + sClientType, sFileName);
AddLineToFile('UserAgent: ' + sNodeUserAgent, sFileName);
AddLineToFile('Referral: ' + sNodeReferral, sFileName);
result := true;
end;
begin
end.
Скрипт получает все данные по попытке регистрации пользователя и записывает их в текстовый файл.
Результат работы: