# 📅 Руководство по планировщику постов ## Описание Планировщик постов позволяет администраторам чата планировать публикацию сообщений в указанное время автоматически. ## 🚀 Быстрый старт 1. **Запустите планировщик:** ```bash 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`) - Проверьте права бота в чате - Убедитесь, что время на сервере правильное **Посты не сохраняются:** - Проверьте права доступа к базе данных - Убедитесь, что пользователь является администратором чата - Проверьте формат команды и времени