service intervals tasks chat

TaskChatService

TaskChatService

src/main/lady/interval-services/task-chat.service.ts

Per-анкета. Кожні 60 секунд перевіряє чат-активність активних фаворитів і генерує таски.


Інтервал

60 секунд


Умови виконання

Пропускає ітерацію якщо:

  • !isActive — LadyRunner зупинений
  • !networkService.isConnected() — немає мережі
  • activityService.sleepModeActive() — Sleep Mode активний

Кандидати

Беруться активні фаворити (isActiveFavorite = true) що:

  • Онлайн (manOnlineService.manIsOnline)
  • Не заблоковані TU (!blockedByTU)

Для кожного чоловіка

officialApiService.chatHistory() → останні повідомлення, без CLOSE_CHAT.

Умова NeedToWriteMessage (треба написати):

  • Останнє повідомлення від чоловіка (direction = false)
  • Пройшло більше 10 хвилин з моменту повідомлення
  • Фаворит ще активний
  • Чоловік не в whitelist
  • lastSendService.chatIsReadyToSend() — не надсилали нещодавно

Умова UnansweredMessage (не відповіли):

  • Останнє повідомлення від анкети (direction = true)
  • lastSendService.chatIsReadyToSend() — ok

Між перевірками

500 мс затримка між чоловіками — щоб не флудити API.

Перериває цикл якщо !isActive або Sleep Mode ввімкнувся.