# Быстрый Старт 🚀
## За 5 минут до первого запуска
### 1. Получить Bot Token
1. Откройте Telegram и найдите **@BotFather**
2. Отправьте `/newbot`
3. Скопируйте полученный токен
### 2. Клонировать репозиторий
```bash
cd ~/dev
git clone <ссылка_на_репо>
cd TG_autoposter
```
### 3. Установить зависимости
```bash
pip install -r requirements.txt
```
### 4. Настроить окружение
```bash
cp .env.example .env
```
Отредактируйте `.env`:
```env
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklmNoPqrsTuvWxyzABC
```
### 5. Запустить бота
```bash
python main.py
```
Должны увидеть:
```
INFO:app:Инициализация базы данных...
INFO:app:База данных инициализирована
INFO:app:Бот запущен
```
## Использование
### 1. Добавьте бота в группу
- Найдите вашего бота в Telegram (по username)
- Добавьте его в группу (как любого обычного участника)
- Бот автоматически обнаружит группу и сохранит информацию
### 2. В личных сообщениях с ботом
- Отправьте `/start`
- Выберите **"📨 Сообщения"** → **"➕ Новое сообщение"**
- Введите название и текст
- Выберите группы
- Нажмите **"📤 Отправить"** в списке сообщений
## Практические примеры
### Пример 1: Простая рассылка
```
1. /start
2. 📨 Сообщения
3. ➕ Новое сообщение
4. Название: "Привет"
5. Текст: "Привет всем!"
6. Выберите группы: ✅ Группа 1, ✅ Группа 2
7. ✔️ Готово
8. Список сообщений → 📤 Отправить
```
### Пример 2: Сообщение с форматированием
```
Текст:
Важное объявление!
Приложение будет недоступно завтра с 00:00 до 06:00.
Статус сервиса
```
## Команды
### Главное меню
- `/start` - Открыть главное меню
- `/help` - Справка
### CLI (в терминале)
```bash
# Создать сообщение
python cli.py message create
# Список сообщений
python cli.py message list
# Список групп
python cli.py group list
# Инициализировать БД
python cli.py db init
# Сбросить БД (осторожно!)
python cli.py db reset
# Запустить бота
python cli.py run
```
## Что дальше?
- 📖 Прочитайте [README.md](README.md) для полной документации
- 🔌 Изучите [API.md](API.md) для разработки
- 🧪 Запустите [examples.py](examples.py) для примеров
## Решение проблем
### "Токен невалиден"
- Проверьте что скопировали правильный токен из @BotFather
- Убедитесь что он в файле `.env`
- Перезапустите бота
### "Бот не видит группы"
- Убедитесь что бот добавлен в группу
- Проверьте что у вас есть права администратора в группе
- Посмотрите консоль для логов
### "Сообщение не отправляется"
- Проверьте что бот есть в группе и может писать
- Попробуйте отправить тестовое сообщение руками
- Посмотрите логи (папка `logs/`)
### "БД ошибка"
```bash
# Сбросьте БД
python migrate_db.py
# Выберите опцию 2 (полный сброс)
```
## Структура для быстрого понимания
```
👤 Пользователь (вы в Telegram)
↓
🤖 Telegram Bot (main.py)
↓
🗄️ База данных
├── Groups (группы)
├── Messages (сообщения)
└── MessageGroups (связи)
↓
📤 Отправка в группы
├── Проверка slow mode
├── Отправка через Bot API
└── Сохранение статуса
```
## Горячие клавиши
В боте используйте эти кнопки:
- **📨 Сообщения** - Работа с сообщениями
- **👥 Группы** - Работа с группами
- **⬅️ Назад** - Вернуться назад
- **✔️ Готово** - Подтвердить выбор
## Производительность
Бот может обрабатывать:
- ✅ Неограниченное количество сообщений
- ✅ Неограниченное количество групп
- ✅ Автоматический учет slow mode
- ✅ Асинхронная отправка
## Безопасность
- 🔐 Токен в `.env` никогда не коммитится
- 🔐 БД может быть зашифрована
- 🔐 Используйте сильные пароли для PostgreSQL
## Поддержка
Если что-то не работает:
1. Прочитайте логи в папке `logs/`
2. Проверьте README.md
3. Посмотрите примеры в `examples.py`
4. Создайте Issue в репо
Удачи! 🎉