Skip to content

Проблемы с ботом ​

Бот не отвечает ​

Симптомы: Нет ответа на команду /start

Причины и решения:

  1. Контейнер не запущен

    bash
    docker compose ps
    # Статус должен быть "Up"
  2. Неправильный токен Telegram

    • Проверьте токен у @BotFather
    • Проверьте на опечатки в .env
    • Переге нерируйте токен если не уверены
  3. Проблемы с сетью

    bash
    docker compose exec remnawave-telegram-shop-bot \
      curl -I https://api.telegram.org
  4. Конфликт портов

    bash
    docker compose logs remnawave-telegram-shop-bot | grep "port\|error"

Бот падает ​

Симптомы: Контейнер неожиданно завершает работу

Проверьте логи:

bash
docker compose logs --tail 50 remnawave-telegram-shop-bot

Частые причины:

  • Ошибка подключения к БД
  • Неправильная конфигурация
  • Недостаточно памяти
  • Необработанное исключение

Решение:

bash
# Перезагрузите бот
docker compose restart remnawave-telegram-shop-bot

# Обновитесь если версия устаревшая
docker compose pull
docker compose up -d

Картинка не появилась ​

  • Проверьте версию бота и MENU_PHOTO_PATH: пустое значение оставляет текстовое меню.
  • Укажите путь внутри контейнера (/assets/menu.jpg), смонтируйте ./assets:/assets:ro и проверьте чтение файла UID 1000.
  • После изменения .env или volumes выполните docker compose up -d --no-deps --force-recreate bot; обычный restart не обновляет окружение контейнера.
  • Отправьте новый /start: старые текстовые сообщения не преобразуются в фото автоматически.

Бот не запускается после указания картинки ​

Посмотрите docker compose logs --tail 100 bot. Отсутствующий исходник без кеша, неверный формат, размер больше 10 МБ или неподходящие размеры приводят к ошибке запуска. Исправьте файл/путь либо временно задайте MENU_PHOTO_PATH= и пересоздайте контейнер.

После замены файла используется старое фото ​

Файл считывается при запуске. Перезапустите бота и отправьте новый /start. Картинка в уже отправленных сообщениях не заменяется; для новых отправок изменённый файл определяется по хешу.

Если в логах указано, что кешированный ID отклонён, а источник отсутствует, восстановите оригинал по настроенному пути и перезапустите бота. Не удаляйте БД ради сброса кеша.

Inline-кнопка не открывает раздел с фото ​

Проверьте ошибки Telegram в логах. message caption is too long означает, что подпись раздела превысила 1024 символа после обработки HTML. Сократите соответствующий перевод/текст. Ошибки can't parse entities требуют исправления HTML-разметки. При такой ошибке прежнее сообщение не удаляется.

Новое меню не закрепилось или старое осталось закреплённым ​

  • Проверьте Failed to update pinned start menu в логах и права бота; в группе необходимо право закреплять сообщения. Само меню остаётся доступным.
  • Если не удалось закрепить новое сообщение, старое намеренно не открепляется. При явном отказе из-за прав лишняя запись о новом закреплении не сохраняется.
  • При временной ошибке открепления или неопределённом результате запроса запись остаётся в БД для повторной обработки. После устранения причины отправьте /start ещё раз.
  • Посторонние и вручную закреплённые сообщения бот не снимает. Не запускайте несколько polling-экземпляров с одним токеном.

Настройка и ограничения картинки.

Проблемы с платежами ​

Платежи YooKassa не работают ​

Проверьте:

bash
# Правильные учетные данные
echo $YOOKASA_SHOP_ID
echo $YOOKASA_SECRET_KEY

# Доступность
docker compose exec remnawave-telegram-shop-bot \
  curl -I https://payment.yandex.net

Решения:

  • Проверьте что Shop ID и Secret Key правильные
  • Проверьте логи платежей

CryptoPay не работает ​

Проверьте:

bash
docker compose logs remnawave-telegram-shop-bot | grep -i crypto

Решения:

  • Переге нерируйте API токен если он истёк
  • Проверьте формат токена (нет пробелов)
  • Проверьте статус сервера CryptoPay
  • Протестируйте с правильным адресом криптовалюты

Telegram Stars не появляются ​

Проверьте:

bash
# Проверьте что включено
grep TELEGRAM_STARS_ENABLED .env

Решения:

  • Включите в параметрах @BotFather
  • Проверьте что цены целые числа
  • Перезагрузите бот: docker compose restart
  • Проверьте что location пользователя поддерживает Stars

Проблемы с базой данных ​

Ошибка подключения к БД ​

Симптомы: "database connection failed" в логах

bash
# Проверьте запущен ли PostgreSQL
docker compose ps postgres

# Проверьте доступность
docker compose exec postgres \
  psql -U remnawave -d remnawave -c "SELECT 1"

Решение:

bash
# Перезагрузите БД
docker compose restart postgres

# Проверьте учетные данные в .env
grep DATABASE_URL .env

# Полная перезагрузка если необходимо
docker compose down
docker compose up -d

База данных переполнена ​

Симптомы: Ошибки при INSERT/UPDATE

bash
# Проверьте размер
docker compose exec postgres \
  du -sh /var/lib/postgresql/data

Решения:

  • Архивируйте старые данные
  • Удалите неиспользуемые записи
  • Увеличьте дисковое пространство
  • Запустите VACUUM: docker compose exec postgres psql -U remnawave -d remnawave -c "VACUUM;"

Медленные запросы в БД ​

Симптомы: Таймауты, высокая задержка

bash
# Проверьте соединения
docker compose exec postgres \
  psql -U remnawave -d remnawave -c "SELECT count(*) FROM pg_stat_activity;"

# Запустите анализ
docker compose exec postgres \
  psql -U remnawave -d remnawave -c "ANALYZE;"

Решения:

  • Создайте недостающие индексы
  • Обновите статистику таблиц
  • Архивируйте исторические данные
  • Обновите оборудование

Проблемы с конфигурацией ​

Неправильная переменная окружения ​

Симптом: Ошибка при загрузке

Проверьте:

bash
# Проверьте синтаксис .env
docker compose config

# Проверьте на опечатки
grep -E "INVALID|TYPO" .env

Частые ошибки:

  • Отсутствует знак =
  • Значения с пробелами без кавычек
  • Неправильный формат UUID
  • Пробелы в конце строки

Изменения не применяются ​

Причина: Бот не перезагружен

Решение:

bash
docker compose down
docker compose up -d

Проблемы с API ​

Ошибка подключения к панели Remnawave ​

Проверьте:

bash
# Протестируйте подключение
docker compose exec remnawave-telegram-shop-bot \
  curl -I https://your-panel.com

# Проверьте учетные данные
grep REMNAWAVE .env

Решения:

  • Проверьте что панель работает
  • Проверьте что REMNAWAVE_URL правильный
  • Проверьте валидность API токена
  • Проверьте логи панели
  • Проверьте что X_API_KEY правильный

API rate limiting ​

Симптомы: 429 Too Many Requests

Решения:

  • Снизьте частоту синхронизации
  • Увеличьте интервал между запросами
  • Свяжитесь с администратором панели
  • Проверьте на вредоносный доступ

Проблемы пользователей ​

Пользователи не могут купить подписку ​

Проверьте:

bash
docker compose logs remnawave-telegram-shop-bot | grep -i purchase

Частые причины:

  • Метод оплаты не включен
  • Неправильные учетные данные платежной системы
  • Пользователь заблокирован
  • Недостаточно средств

Решение:

  • Проверьте что методы оплаты включены
  • Проверьте учетные данные платежной системы
  • Проверьте логи пользователя
  • Протестируйте процесс оплаты вручную

Уведомления об истечении не отправляются ​

Проверьте:

bash
# Время уведомления
grep "16:00\|notification" /var/log/bot.log

# Проверьте токен Telegram
docker compose logs remnawave-telegram-shop-bot | grep -i notification

Решения:

  • Проверьте что системное время правильное (UTC)
  • Проверьте что токен Telegram валидный
  • Проверьте логи уведомлений
  • Проверьте языковые настройки пользователя
  • Проверьте rate limiting

Команды для диагностики ​

bash
# Полная диагностика
docker compose ps
docker compose logs --tail 100 remnawave-telegram-shop-bot
docker compose logs -f postgres

# Проверьте подключение
docker compose exec remnawave-telegram-shop-bot curl -I https://api.telegram.org
docker compose exec remnawave-telegram-shop-bot curl -I https://your-panel.com

# Проверьте ресурсы
docker stats remnawave-telegram-shop-bot

# Проверьте конфигурацию
docker compose config

Когда нужна перезагрузка ​

СценарийДействие
Изменили .envdocker compose down && docker compose up -d
Добавили пользователей в блоклист/вайтлистАвтоматически (для вайтлиста) или перезагрузка
Обновили образ Dockerdocker compose pull && docker compose up -d
Проблемы с БДdocker compose restart postgres
Полный сбросdocker compose down && docker compose up -d

Получение помощи ​

Если проблема остается:

  1. Соберите логи: docker compose logs > logs.txt
  2. Проверьте GitHub issues
  3. Ознакомьтесь с документацией
  4. Создайте issue с логами и конфигурацией (без секретов)