MSL: событие OnBroadcastMessage

Скриптовое событие MyChat Server: OnBroadcastMessage

Событие отправки оповещения пользователем MyChat.

 

Шаблон события

function OnBroadcastMessage(iCID, iUIN: integer; var sUsersList: string; var dtActualTo: double; var bReadNotify: boolean; iMsgType: integer; sMsg: string): boolean;
begin
  // your own code
  
  result := true;
end;

begin

end.

Вместо комментария может быть любой ваш код.

 

Описание параметров

Параметр

Тип

Значение

iCID

integer

Connection ID клиента, уникальный сеансовый идентификатор в онлайн-структуре сетевых подключений к серверу;

iUIN

integer

уникальный идентификатор отправителя сообщения (число > 0);

sUsersList

string

изменяемый параметр. Список получателей сообщения, строка, UIN-ы пользователей через запятую;

dtActualTo

double

изменяемый параметр. Дата актуальности сообщения (UTC);

bReadNotify

boolean

изменяемый параметр. Уведомлять отправителя о прочтении сообщения каждым получателем или нет;

iMsgType

integer

тип сообщения:
0 — обычное;
1 — требуется подтверждение прочтения;
2 — необходим обязательный ответ;

sMsg

string

текст сообщения.

 

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

True, если вы разрешаете отправку оповещения, False — если скрипт подавляет это оповещение.

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

 

Пример

const
  sChiefUIN = '3';

function OnBroadcastMessage(iCID, iUIN: integer; var sUsersList: string; var dtActualTo: double; var bReadNotify: boolean; iMsgType: integer; sMsg: string): boolean;
begin
  result := true;
    
    if inttostr(iUIN) <> sChiefUIN then 
      if not IsStringInList(sChiefUIN, sUsersList, ',', false) then 
        sUsersList := sUsersList + ',' + sChiefUIN;
end;

begin

end.

Скрипт проверяет, кто отправитель оповещения. Если это не начальник подразделения (UIN = 3) и он не включен в список получателей оповещения, то автоматически добавляет его в общий список получателей.

 

Ещё посмотреть

IntToStr

IsStringInList