Files
bottohelp/SCHEDULER_GUIDE.md
T

4.6 KiB

📅 Руководство по планировщику постов

Описание

Планировщик постов позволяет администраторам чата планировать публикацию сообщений в указанное время автоматически.

🚀 Быстрый старт

  1. Запустите планировщик:

    python scheduler.py
    
  2. Используйте команды в Telegram:

    • /schedule_post +1h Привет всем! - запланировать пост через час
    • /list_posts - посмотреть все запланированные посты
    • /delete_post 1 - удалить пост с ID 1

📋 Доступные команды

/schedule_post [время] [текст]

Планирует публикацию поста в указанное время.

Форматы времени:

  • Относительное время:

    • +30m - через 30 минут
    • +2h - через 2 часа
    • +1d - через 1 день
  • Абсолютное время:

    • 2024-01-15 14:30:00 - 15 января 2024 года в 14:30
    • 2024-01-15 14:30 - то же самое без секунд

Примеры:

/schedule_post +1h Ежедневное приветствие!
/schedule_post +30m Напоминание о встрече
/schedule_post 2024-01-15 09:00 Доброе утро!

/list_posts

Показывает список всех запланированных постов с информацией:

  • ID поста
  • Время публикации
  • Автор поста
  • Текст поста (первые 100 символов)

/delete_post [ID]

Удаляет запланированный пост по его ID.

Пример:

/delete_post 5

/publish_now [ID]

Немедленно публикует пост и удаляет его из планировщика.

Пример:

/publish_now 3

⚙️ Как это работает

  1. База данных - все посты хранятся в таблице scheduled_posts
  2. Планировщик (scheduler.py) работает в фоне и проверяет посты каждые 30 секунд
  3. Автопубликация - посты публикуются автоматически в указанное время
  4. Логирование - все действия записываются в логи планировщика

🔧 Структура базы данных

Таблица scheduled_posts содержит:

  • post_id - уникальный идентификатор поста
  • chat_id - ID чата для публикации
  • text - текст поста
  • image_path - путь к изображению (если есть)
  • schedule_time - время публикации
  • created_by - ID пользователя, создавшего пост
  • status - статус поста (scheduled/published)
  • published_at - время фактической публикации
  • created_at - время создания поста

📝 Примечания

  • Только администраторы чата могут управлять постами по расписанию
  • Планировщик должен работать постоянно для автоматической публикации
  • Рекомендуется запускать планировщик в отдельном терминале или как сервис
  • Все посты сохраняются в истории даже после публикации

🔍 Мониторинг

Для мониторинга работы планировщика проверяйте:

  1. Логи планировщика в терминале
  2. Статус постов командой /list_posts
  3. Лог публикаций в основном боте

🛠️ Устранение неисправностей

Планировщик не публикует посты:

  • Убедитесь, что планировщик запущен (python scheduler.py)
  • Проверьте права бота в чате
  • Убедитесь, что время на сервере правильное

Посты не сохраняются:

  • Проверьте права доступа к базе данных
  • Убедитесь, что пользователь является администратором чата
  • Проверьте формат команды и времени