Страница 1 из 1

Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 1:13 pm
СергейВБР
Код скрипта:
Код: Выделить всё
// ---------------------------------------
// Script created by СергейАхт (UIN 1)
// 12.02.2018 7:32:20
// ---------------------------------------
var
  sMessage, s, sResultGet, sResultPost, sJSON: string;
  iBalance, y, x: integer;
 
begin
  sResultGet := mHTTPSendGetMessage('https://my.rs.net.ua/sms_login.html?rs_login=tehnolog&rs_password=*********', 'Content-Type:application/x-www-form-urlencoded', 1000);
  x := pos('На вашому', sResultGet);
  y := pos('грн </b></span>', sResultGet);
  //mLogScript(sResultGet, 'sResultGet');
  s := copy(sResultGet, x, y-x+3);
  x := pos('<b>', s);
  iBalance := trunc(StrToFloat(copy(s, x+3, length(s)-x-9))); //Баланс в цифре
  //mLogScript(copy(s, x+3, length(s)-x-6), '');
  s := ReplaceString(s, '<b>', '', true, false);
  //mLogScript(s, '');
  //mLogScript(inttostr(iBalance), 'iBalance');
  if (iBalance < 10) then begin
      sMessage := 'Пакет на Металлургов: ' + s + CRLF;
        //mSendConfMessage(1, 0, 'Всем привет! ' + CRLF + 'Стесняюсь Вас побеспокоить, НО ' + CRLF + 'интернет на металлургов не мешало бы пополнить! ' + CRLF + s, 1);
  end;
 
 //Ахтырская
  sResultGet := mHTTPSendGetMessage('https://my.rs.net.ua/sms_login.html?rs_login=rk6&rs_password=*********', 'Content-Type:application/x-www-form-urlencoded', 1000);
  x := pos('На вашому', sResultGet);
  y := pos('грн </b></span>', sResultGet);
  //mLogScript(sResultGet, 'sResultGet');
  s := copy(sResultGet, x, y-x+3);
  x := pos('<b>', s);
  //mLogScript(s, '');
  iBalance := trunc(StrToFloat(trim(copy(s, x+3, length(s)-x-9)))); //Баланс в цифре
  //mLogScript(copy(s, x+3, length(s)-x-9), '');
  s := ReplaceString(s, '<b>', '', true, false);
  //mLogScript(s, '');
  //mLogScript(inttostr(trunc(strtofloat('192.16'))), 'iBalance');
  if (iBalance < 10) then begin
      sMessage := sMessage + 'Пакет на Ахтырской: ' + s;
        //mSendConfMessage(1, 0, 'Всем привет! ' + CRLF + 'Стесняюсь Вас побеспокоить, НО ' + CRLF + 'интернет на металлургов не мешало бы пополнить! ' + CRLF + s, 1);
  end;
 
  if (length(sMessage) > 0) then begin
      mSendConfMessage(3, 0, 'Всем привет! ' + CRLF + 'Стесняюсь Вас побеспокоить, НО интернет не мешало бы пополнить! ' + CRLF + sMessage, 1);
        //mLogScript('Всем привет! ' + CRLF + 'Стесняюсь Вас побеспокоить, НО интернет не мешало бы пополнить! ' + CRLF + sMessage, 'iBalance');
  end;
 
end.

После обновления от 1 марта, не всегда, но периодически в чат прилетают сообщения вида как на скрине.
т.е. в каком то месте строка заменяется на "NET"...
Что это?
Отловить не могу, т.к. все тестовые проверки скрипт проходит - и не выдает этого "NET"...
(Пароли прошу запикать после копирования исходника скрипта)

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 2:09 pm
Алексей Пикуров
Здравствуйте. Функции не возвращают такое значение. Залогируйте результат функции mHTTPSendGetMessage — sResultGet в файл.

https://nsoft-s.com/mcserverhelp/index. ... todisk.htm

Посмотрите, что она и когда возвращает, чтобы разобраться.

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 2:10 pm
Алексей Пикуров
P.S. Переношу тему в раздел скриптов.

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:06 pm
СергейВБР
Кстати, не знаю должно ли так быть - при попытке использховать
Код: Выделить всё
mLogScriptToDisk(sResultGet);

- то есть записать в лог значение переменной sResultGet - лог остается пустой,
увидел содержимое с помощью mSendPrivateTechMessage.
Это NETWORK ERROR 10060, "Connection timed out".
Попробовал увеличить iTimeOut до 3 секунд, вроде помогло, дальше будет видно, на всякий случай сделал проверку на возвращаемый от сервера ответ.

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:10 pm
Алексей Пикуров
Получается, ваш сервер может долго отвечать на запрос.
лог остается пустой

Какой лог вы смотрите?

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:14 pm
СергейВБР
Тот который нарисован в справке:

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:16 pm
Алексей Пикуров
Ну если там пусто, значит, вы туда ничего не пишете. Я только что проверил, всё отлично работает.

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:25 pm
СергейВБР
Да, я увидел что последнее сообщение там 19.03, т.е. за сегодня почемуто записи не отображает, перезагрузил сервер - логи не появились....
Попробовал скрипт - теперь в системном протоколе пишет:
0031 [20.03.2018 14:22:21:657] Ошибка #130: скрипт "rsBallance" отключен из-за превышения времени на выполнение (5082 ms)
Кроме этого в системном протоколе обнаружил строку:
0031 [20.03.2018 10:33:59:766] Ошибка #102: попытка подключения неизвестного приложения, IP "213.202.230.144"
Что бы это значило?

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:33 pm
Алексей Пикуров
0031 [20.03.2018 14:22:21:657] Ошибка #130: скрипт "rsBallance" отключен из-за превышения времени на выполнение (5082 ms)

Ваш скрипт слишком долго работал (дольше стандартных 5 секунд) и сервер его отключил. Поставьте тайм-аут на выполнение внутри скрипта, но только адекватный.

Функция SetScriptTimeOut
Кроме этого в системном протоколе обнаружил строку:
0031 [20.03.2018 10:33:59:766] Ошибка #102: попытка подключения неизвестного приложения, IP "213.202.230.144"

К вашему серверу пытается подключиться кто-то, но это не MyChat Client. И сервер его отключает.
Мы сейчас занимаемся обновлением системы логов, будет удобнее понять, кто это, но пока что протоколирования входящего сетевого трафика нет.

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:42 pm
СергейВБР
Как заставить заработать логи скриптов, там за сегодня - пусто... Че так - не знаю.
Галочка в настройках включена...

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:44 pm
Алексей Пикуров
Логи работают, возьмите Chrome для теста.

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 3:46 pm
Алексей Пикуров
P.S. Сейчас логи скриптов пишутся в файл C:\ProgramData\MyChat Server\logs\2018\03\20\script.log

Проверьте, там есть что-то?

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 4:03 pm
СергейВБР
В хроме тоже пусто, а текстовый лог - на месте, похоже просто сломался его парсинг после того как туда попал чистый HTML после выполнения mLogScriptToDisk(sResultGet);
логфайл приложил - протестируйте.

Re: Какая из функций может возвращать "NET" ?

СообщениеДобавлено: Вт мар 20, 2018 4:06 pm
Алексей Пикуров
Да, такое он парсить не умеет, как раз сейчас занимаемся системой логов. Пока что будет, как есть. Либо пишите в отдельный файл функцией типа AddLineToFile.