Files
bottohelp/SCHEDULER_GUIDE.md
T

107 lines
4.6 KiB
Markdown

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