198 lines
5.7 KiB
Markdown
198 lines
5.7 KiB
Markdown
# Быстрый Старт 🚀
|
||
|
||
## За 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: Сообщение с форматированием
|
||
|
||
```
|
||
Текст:
|
||
<b>Важное объявление!</b>
|
||
|
||
Приложение будет <i>недоступно</i> <u>завтра</u> с 00:00 до 06:00.
|
||
|
||
<a href="https://status.example.com">Статус сервиса</a>
|
||
```
|
||
|
||
## Команды
|
||
|
||
### Главное меню
|
||
- `/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 в репо
|
||
|
||
Удачи! 🎉
|