Files
TG_autoposter/docs/QUICKSTART.md
2025-12-18 05:55:32 +09:00

198 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Быстрый Старт 🚀
## За 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 в репо
Удачи! 🎉