Files
portal/bots
Дмитрий ad816b2571 feat(телеграм-реклама): сторож живой сессии кабинета запущен по расписанию
Вход в кабинет МТС умер молча 03.08.2026: робот не мог ни подать объявление, ни
прочитать вердикт, ни дойти до кассы, а владелец не узнал об этом ниоткуда. Сторож
сессии (bin/keepalive.js) в проекте был написан ещё 02.08, но нигде не запускался —
письмо физически не могло прийти. Третий за сутки случай «сторож есть, сработать не
может».

Заведена задача Планировщика Liderra-MTS-Keepalive: раз в час, скрытно (S4U — как у
самого робота), лимит 20 минут, повторный запуск поверх идущего запрещён.

Зовёт обёртку bin/keepalive-task.ps1, а не keepalive.js напрямую, по одной причине:
робот и сторож делят ОДИН профиль браузера. Приди сторож в момент, когда робот везёт
кампанию, — он либо помешал бы роботу, либо прислал владельцу ложное «вход слетел»
(ровно тот шум, который убирали правкой 02.08). Обёртка ищет браузер, поднятый с этим
профилем, и при занятости молча пропускает круг. Всё пишется в keepalive.log —
сторож, о котором ничего не известно, не сторож.

Обе половины доказаны вырезанием, а не объявлены:
  профиль свободен → «код 0 :: ALIVE»;
  профиль занят (держали браузером специально) → «ПРОПУСК: кабинет занят роботом».
Затем задача запущена через сам Планировщик — результат 0, в журнале снова ALIVE.

Ловушка на будущее: .ps1 с кириллицей обязан иметь метку кодировки (BOM). Без неё
Windows PowerShell 5.1 читает файл как ANSI и падает на разборе, жалуясь совсем не на
то место — «Missing closing '}'».
2026-08-03 17:36:44 +03:00
..