749d717a9403b5484dbec79b87628139c5bbe604
ЭТАП 4 — расписание публикаций (раз и навсегда):
1. Синхронизация сайт ↔ Telegram:
- articleAutoPublish.pickScheduleTime теперь ставит TG-пост на
articles.published_at (тот же момент, когда статья появляется на сайте).
Слоты канала publish_slots больше НЕ выбирают время независимо.
- Единый источник времени — published_at (drip-слот сайта).
- Слоты сайта и ТГ синхронизированы в БД: 08:11/12:11/16:11/20:11.
2. Защита от залпа (scheduledPostsRunner):
- посты просроченные >3ч → status='skipped' (не спамим канал задним числом).
- публикация по ОДНОМУ за тик (LIMIT 1), не пачкой.
3. Заметки Зеро (zeroNotes) — механика как у черновиков статей:
- nextPublishSlot всегда = ЗАВТРА publishHour (сегодня сгенерили → завтра
публикуем). Час настраивается ZERO_NOTES_PUBLISH_HOUR (13:00).
- autoApproveOldDrafts (09:00 МСК): если не подтверждён к утру дня
публикации — авто-одобряется и выходит в свой слот.
- publishReady limit:1 — строго одна заметка за тик.
Настройки в app_settings: SITE_PUBLISH_SLOTS, ZERO_SITE_URL_BASE,
ZERO_NOTES_APPROVE_HOUR=9, GENERATE_HOUR=13, PUBLISH_HOUR=13.
zeropost-engine
ZeroPost - zeropost-engine
Description
Languages
JavaScript
100%