mirror of
https://github.com/FerraSoft/bottohelp.git
synced 2026-08-07 14:15:02 +00:00
107 lines
4.6 KiB
Markdown
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`)
|
|
- Проверьте права бота в чате
|
|
- Убедитесь, что время на сервере правильное
|
|
|
|
**Посты не сохраняются:**
|
|
- Проверьте права доступа к базе данных
|
|
- Убедитесь, что пользователь является администратором чата
|
|
- Проверьте формат команды и времени |