Files
batch-bot/DOCKER.md
bilal a18ad30961 Initial commit: Batch Bot - Telegram Comment Bot
0.0.1
Features:
- Multi-account support via session files
- AI comments generation via Ollama (local LLM)
- Telegram bot for moderation (approve/reject/regenerate)
- Docker support (controller + worker)
- Auto-join public groups
- Comment regeneration on group re-add
- Statistics tracking

Tech stack:
- Python 3.11
- Telethon 1.34 (Telegram user client)
- Aiogram 3.4 (Telegram bot framework)
- SQLite (Database)
- Docker & Docker Compose
- Ollama (Local LLM)
2026-02-24 04:40:07 +03:00

3.2 KiB
Raw Permalink Blame History

🐳 Docker Guide

Предварительные требования

  • Docker установлен
  • Ollama запущена отдельно (на хосте)
  • Есть токен бота от @BotFather

1. Настройка

cd batch-bot

# Скопируйте конфиг
cp .env.example .env

# Отредактируйте
nano .env

Обязательные параметры:

BOT_TOKEN=1234567890:AABBccDDeeFFggHHiiJJkkLLmmNNooP
TELEGRAM_API_ID=12345678
TELEGRAM_API_HASH=abc123def456ghi789
TARGET_GROUP_ID=1416283017
LOG_GROUP_ID=-1004804863247
ADMIN_IDS=123456789

# Ollama URL (Linux)
OLLAMA_URL=http://172.17.0.1:11434

2. Создание сессий

Сессии создаются на хосте (вне Docker):

pip install -r requirements.txt
python auth.py

Введите:

  1. Номер телефона
  2. Код из Telegram

Для нескольких аккаунтов:

python auth.py  # первый
python auth.py  # второй

Проверьте:

ls sessions/
# user_123456789.session  user_987654321.session

3. Запуск

# Сборка
docker-compose build

# Запуск
docker-compose up -d

# Проверка
docker-compose ps

# Логи
docker-compose logs -f

Ожидается:

NAME                         STATUS
batch-bot-controller         Up
batch-bot-worker             Up

4. Проверка

  1. Откройте бота в Telegram
  2. Отправьте /start
  3. Проверьте /stats

🔧 Управление

# Перезапуск
docker-compose restart

# Пересборка
docker-compose build --no-cache

# Остановка
docker-compose down

# Логи controller
docker-compose logs -f controller

# Логи worker
docker-compose logs -f worker

⚠️ Troubleshooting

"BOT_TOKEN не задан":

docker-compose config
docker-compose restart controller

"Нет сессий":

ls sessions/
docker-compose restart worker

"Ollama не отвечает":

# Проверка с хоста
curl http://172.17.0.1:11434/api/tags

# Проверка из контейнера
docker run --rm alpine wget -qO- http://172.17.0.1:11434/api/tags

"Сессия не авторизована":

rm sessions/user_*.session
python auth.py
docker-compose restart worker

📁 Тома

Том Описание
./sessions:/app/sessions Файлы сессий
./logs:/app/logs Логи
./comments.db:/app/comments.db База данных

🌐 Сетевые настройки

Контейнеры используют Docker bridge сеть.

Доступ к хосту:

  • 172.17.0.1 — IP хоста в Docker bridge
  • host.docker.internal — альтернативное имя (добавлено через extra_hosts)

Если Ollama на другом сервере:

OLLAMA_URL=http://192.168.1.100:11434

📝 Обновление

# Обновление кода
git pull

# Пересборка и перезапуск
docker-compose build
docker-compose up -d