Ср апр 24, 2019 9:43 am Ср апр 24, 2019 9:43 am
Привожу код скрипта.
procedure SendBrowserInfo(iUIN, iUINTo, iCID, iCIDTo: integer);
var
s, sIP, sWEBSupportBrowserInfo, sWEBSupportRefLink, sWEBSupportsSysLanguage, sWEBSupportsPlatformOS,
sGeoIP, sCountry, sCity: string;
begin
sIP := mGetCIDAttribute(iCID, 'IP');
sWEBSupportBrowserInfo := mGetCIDAttribute(iCID, 'UserAgent');
sWEBSupportRefLink := mGetCIDAttribute(iCID, 'Reflink');
sWEBSupportsSysLanguage := mGetCIDAttribute(iCID, 'Lang');
sWEBSupportsPlatformOS := mGetCIDAttribute(iCID, 'OS');
s := '---------------' + CRLF +
'-=WEB Support=-' + CRLF + CRLF +
'IP: ' + sIP;
if length(sWEBSupportBrowserInfo) > 0 then s := s + CRLF + 'Browser: ' + sWEBSupportBrowserInfo + CRLF;
if length(sWEBSupportRefLink) > 0 then s := s + CRLF + 'Reflink: ' + sWEBSupportRefLink;
if length(sWEBSupportsSysLanguage) > 0 then s := s + CRLF + 'System language: ' + sWEBSupportsSysLanguage;
if length(sWEBSupportsPlatformOS) > 0 then s := s + CRLF + 'OS: ' + sWEBSupportsPlatformOS;
sGeoIP := GeoIPGetQuickInfo(sIP);
sCountry := Fetch(sGeoIP, '|');
sCity := sGeoIP;
if length(sCountry) > 0 then begin
sGeoIP := sCountry;
if length(sCity) > 0 then sGeoIP := sGeoIP + ', ' + sCity;
s := s + CRLF + CRLF + sGeoIP;
end else sGeoIP := '';
mSendPrivateMessage(iUIN, iUINTo, s, 21, true);
mSendCustomMsgToClientConsoleByCID(iCIDTo, 'WEB support session from UIN ' + inttostr(iUIN), 'newmsg', false, true, 78);
end;
procedure SendHelloMessage(iUIN, iUINTo: integer);
var
s, sUserName, sHelloMsg: string;
iHour, x: integer;
begin
iHour := HourOf(Now);
case iHour of
8..18: s := 'Здравствуйте, что вас интересует?';
19..7: s := 'К сожалению, сейчас мы не можем Вам ответить. Пожалуйста, дождитесь начала рабочего дня или направьте Ваше обращение по электронной почте"';
end;
sUserName := mGetUserAttribute(iUIN, 'FirstName');
if length(sUserName) > 0 then s := s + '' + sUserName + ''
else s := s + '';
x := Random(8);
case x of
0: sHelloMsg := '';
1: sHelloMsg := '';
2: sHelloMsg := '';
3: sHelloMsg := '';
4: sHelloMsg := '';
5: sHelloMsg := '';
6: sHelloMsg := '';
7: sHelloMsg := '';
end;
s := s + sHelloMsg;
mSendPrivateMessage(iUINTo, iUIN, s, 1, true);
end;
function OnPrivateRequest(iCID, iUIN, iUINTo, iRole, iRoleReciever, iTask: integer): boolean;
var
sKey, sKeyData, sDateNow: string;
iWhat, iCIDTo: integer;
begin
SetScriptTimeOut(10000); // на всякий случай, вдруг будет долго работать
if mGetRoleNameByID(iRole) = 'WEB guests' then begin
iCIDTo := mGetUserCID(iUINTo);
sKey := 'websupp' + IntToStr(iUIN) + '-' + IntToStr(iUINTo);
//mDBStorageDeleteKey(sKey);
//mDBStorageSetData(sKey, '123');
sKeyData := mDBStorageGetData(sKey);
sDateNow := FormatDateTime('ddmmyyyy', Now);
if length(sKeyData) = 0 then iWhat := 1 // ни разу не подключался к серверу
else if sKeyData = sDateNow then iWhat := 2 // уже подключался сегодня
else iWhat := 3; // подключался раньше, не сегодня
mDBStorageSetData(sKey, sDateNow);
// юзер подключается первый раз и оператор онлайн
if (iCIDTo <> -1) and (iWhat = 1) then begin
SendBrowserInfo(iUIN, iUINTo, iCID, iCIDTo);
SendHelloMessage(iUIN, iUINTo);
end else
// если пользователь подключается первый раз вообще либо впервые за день
if (iWhat = 1) or (iWhat = 3) then SendHelloMessage(iUIN, iUINTo);
end;
result := true;
end;
begin
end.
Проблема в том, что приветствие 19..7 не работает. Скажите пожалуйста, в чем проблема.
И второй вопрос. Блок x := Random(8); ... нам не нужен с какой строки и по какую его можно удалить?
Есть ли возможность задать сообщение в выходные дни?