9.7 KiB
9.7 KiB
Руководство по установке VNDB Telegram Bot
Быстрый старт (5 минут)
Требования
- Python 3.8 или выше
- pip (идёт с Python)
- Интернет соединение
Шаг 1: Получение токенов
Telegram Bot Token
- Откройте Telegram и найдите @BotFather
- Напишите
/newbot - Ответьте на вопросы о названии и username вашего бота
- Вы получите токен (выглядит как
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)
VNDB API Token (опционально)
- Создайте аккаунт на https://vndb.org (если ещё нет)
- Перейдите на https://vndb.org/u/tokens
- Нажмите "Create new token"
- Скопируйте полученный токен
Шаг 2: Установка бота
# Скачайте проект
git clone <repo_url>
cd vntgbot
# Создайте виртуальное окружение (рекомендуется)
python -m venv venv
# Активируйте виртуальное окружение
# На Windows:
venv\Scripts\activate
# На macOS/Linux:
source venv/bin/activate
# Установите зависимости
pip install -r requirements.txt
Шаг 3: Настройка переменных окружения
Создайте файл .env в корневой папке проекта:
TELEGRAM_BOT_TOKEN=ваш_токен_тг
VNDB_TOKEN=ваш_токен_vndb
Заменив ваш_токен_тг и ваш_токен_vndb на реальные токены.
Шаг 4: Запуск бота
python bot.py
Если все настроено правильно, вы должны увидеть сообщение о том, что бот запущен.
Подробная установка
Linux/macOS
# 1. Скачайте исходный код
git clone <repo_url>
cd vntgbot
# 2. Создайте виртуальное окружение
python3 -m venv venv
source venv/bin/activate
# 3. Обновите pip
pip install --upgrade pip
# 4. Установите зависимости
pip install -r requirements.txt
# 5. Создайте .env файл
cp .env.example .env
# Отредактируйте .env и добавьте токены
nano .env
# 6. Запустите бота
python bot.py
Windows (PowerShell)
# 1. Скачайте исходный код
git clone <repo_url>
cd vntgbot
# 2. Создайте виртуальное окружение
python -m venv venv
.\venv\Scripts\Activate.ps1
# 3. Обновите pip
python -m pip install --upgrade pip
# 4. Установите зависимости
pip install -r requirements.txt
# 5. Создайте .env файл
Copy-Item .env.example .env
# Отредактируйте .env с помощью notepad или вашего любимого редактора
notepad .env
# 6. Запустите бота
python bot.py
Windows (CMD)
# 1. Скачайте исходный код
git clone <repo_url>
cd vntgbot
# 2. Создайте виртуальное окружение
python -m venv venv
venv\Scripts\activate.bat
# 3. Обновите pip
python -m pip install --upgrade pip
# 4. Установите зависимости
pip install -r requirements.txt
# 5. Создайте .env файл
copy .env.example .env
REM Отредактируйте .env
# 6. Запустите бота
python bot.py
Развертывание с помощью Docker
Требования
- Docker
- Docker Compose (опционально)
С использованием Docker Compose (рекомендуется)
# 1. Создайте .env файл в корневой папке
echo "TELEGRAM_BOT_TOKEN=ваш_токен" > .env
echo "VNDB_TOKEN=ваш_токен" >> .env
# 2. Запустите бота
docker-compose up -d
# 3. Проверьте логи
docker-compose logs -f vndb-bot
# 4. Остановите бота
docker-compose down
С использованием Docker напрямую
# 1. Создайте образ
docker build -t vndb-bot .
# 2. Запустите контейнер
docker run -d \
--name vndb-bot \
-e TELEGRAM_BOT_TOKEN=ваш_токен \
-e VNDB_TOKEN=ваш_токен \
vndb-bot
# 3. Проверьте логи
docker logs vndb-bot
# 4. Остановите контейнер
docker stop vndb-bot
docker rm vndb-bot
Проверка установки
После запуска бота:
- Откройте Telegram
- Найдите вашего бота по username
- Напишите
/start - Вы должны увидеть приветственное сообщение
Если всё работает, попробуйте команду:
/stats
Решение проблем
Ошибка: "TELEGRAM_BOT_TOKEN not set"
- Проверьте, что файл
.envсуществует в корневой папке - Убедитесь, что в
.envправильно указан токен - Убедитесь, что токен не содержит кавычки или лишних пробелов
Ошибка: "Connection refused"
- Проверьте интернет соединение
- Убедитесь, что сервер VNDB API доступен (https://api.vndb.org/kana)
Бот не отвечает на сообщения
- Проверьте, что бот имеет права администратора в чате (если используется в групповом чате)
- Убедитесь, что в настройках бота включены приватные сообщения
- Перезагрузите бота: остановите его и запустите снова
Медленные ответы
- Это может быть из-за ограничений API VNDB
- Попробуйте уменьшить количество запрашиваемых полей
- Убедитесь, что ваше интернет соединение стабильно
Ошибка импорта модулей
# Убедитесь, что виртуальное окружение активировано и зависимости установлены
pip install -r requirements.txt --upgrade
SSL Certificate Error
# На некоторых системах может потребоваться:
pip install certifi
# Или использовать нестабильное соединение (не рекомендуется):
# Добавьте в bot.py перед запуском: import ssl; ssl._create_default_https_context = ssl._create_unverified_context
Конфигурация
Переменные окружения
| Переменная | Обязательна | По умолчанию | Описание |
|---|---|---|---|
| TELEGRAM_BOT_TOKEN | Да | - | Токен Telegram бота |
| VNDB_TOKEN | Нет | - | Токен VNDB API для авторизации |
| LOG_LEVEL | Нет | INFO | Уровень логирования (DEBUG, INFO, WARNING, ERROR) |
| USE_SANDBOX | Нет | false | Использовать sandbox API для тестирования |
Файл config.py
Вы можете отредактировать config.py для изменения других параметров:
MAX_RESULTS_PER_PAGE = 100 # Максимум результатов на странице
DEFAULT_RESULTS_PER_PAGE = 10 # По умолчанию результатов на странице
MAX_QUOTES_AT_ONCE = 5 # Максимум цитат за раз
API_TIMEOUT = 10 # Timeout для API запросов (в секундах)
BOT_TIMEOUT = 30 # Timeout для бота (в секундах)
Проверка зависимостей
# Проверьте, что все зависимости установлены правильно
pip check
# Обновите зависимости
pip install -r requirements.txt --upgrade
Выполнение тестов
# Установите зависимости для тестирования (они уже в requirements.txt)
# Запустите тесты
pytest test_bot.py -v
# С покрытием
pytest test_bot.py --cov=. --cov-report=html
Автозагрузка при запуске системы
Linux/macOS (systemd)
Создайте файл /etc/systemd/system/vndb-bot.service:
[Unit]
Description=VNDB Telegram Bot
After=network.target
[Service]
Type=simple
User=your_username
WorkingDirectory=/path/to/vntgbot
Environment="PATH=/path/to/vntgbot/venv/bin"
ExecStart=/path/to/vntgbot/venv/bin/python bot.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Затем:
sudo systemctl daemon-reload
sudo systemctl enable vndb-bot
sudo systemctl start vndb-bot
Windows (Планировщик задач)
- Откройте Планировщик задач
- Создайте новую задачу
- Установите триггер "При запуске"
- Установите действие: запустить
python.exeс аргументомC:\path\to\bot.py - Сохраните задачу
Нужна помощь?
- 📖 Прочитайте README.md
- 🐛 Проверьте логи
- 📝 Посмотрите примеры команд в
/help - 🌐 Посетите https://api.vndb.org/kana для справки по API
Удачи! 🚀