MyChat Server: OnBBSMessage, нове повідомлення на дошці оголошень
Подія створення нового повідомлення на спільній дошці оголошень MyChat.
Шаблон події
function OnBBSMessage(iCID, iUIN: integer; bStick: boolean; dtPosted, dtExpire: double; sMsg: string): boolean;
begin
// your own code
result := true;
end;
begin
end.
Замість коментаря може бути будь-який ваш код.
Опис параметрів
Параметр |
Тип |
Значення |
iCID |
integer |
Connection ID клієнта, унікальний сеансовий ідентифікатор в онлайн структурі мережевих підключень до сервера; |
iUIN |
integer |
унікальний ідентифікатор відправника повідомлення (число > 0); |
bStick |
boolean |
"приліплене" оголошення. Якщо truе — розмістити повідомлення вище на дошці; |
dtPosted |
double |
дата та час розміщення повідомлення на дошці, в UTC; |
dtExpire |
double |
дата та час актуальності оголошення (у UTC), після закінчення якого воно буде автоматично переміщено до архіву; |
sMsg |
string |
текст повідомлення. |
Значення, що повертається
True, якщо ви дозволяєте розміщення оголошення на дошці, False — якщо ні.
Приклад
const
sFileName = 'c:\denwer\home\company\www\bbs.html';
function OnBBSMessage(iCID, iUIN: integer; bStick: boolean; dtPosted, dtExpire: double; sMsg: string): boolean;
var
s: string;
begin
s := ReplaceString(sMsg, '<', '<', true, false);
s := ReplaceString(s, '>', '>', true, false);
s := '' + CRLF +
'' + CRLF +
s +
'
' + CRLF +
FormatDateTime('[dd.mm.yyyy hh:nn]', dtPosted) + ' ' +
mGetUserAttribute(iUIN, 'DisplayName') + CRLF +
'' + CRLF +
'';
DeleteFile(sFileName);
AddLineToFile(s, sFileName);
result := true;
end;
begin
end.
Скрипт створює html-файл для розміщення на корпоративному WEB-сервері, де дублює текст повідомлення, а також вказує відправника та дату розміщення оголошення.
Після розміщення повідомлення на дошці оголошень, воно відображається у чаті:
А також формується HTML-файл "c:\denwer\home\company\www\bbs.html":
В браузері це виглядає так: