Скриптова подія 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.
Скрипт отримує всі дані щодо спроби реєстрації користувача та записує їх у текстовий файл.
Результат роботи: