Проблемы с ботом
Бот не отвечает
Симптомы: Нет ответа на команду /start
Причины и решения:
Контейнер не запущен
bashdocker compose ps # Статус должен быть "Up"Неправильный токен Telegram
- Проверьте токен у @BotFather
- Проверьте на опечатки в
.env - Переге нерируйте токен если не уверены
Проблемы с сетью
bashdocker compose exec remnawave-telegram-shop-bot \ curl -I https://api.telegram.orgКонфликт портов
bashdocker compose logs remnawave-telegram-shop-bot | grep "port\|error"
Бот падает
Симптомы: Контейнер неожиданно завершает работу
Проверьте логи:
docker compose logs --tail 50 remnawave-telegram-shop-botЧастые причины:
- Ошибка подключения к БД
- Неправильная конфигурация
- Недостаточно памяти
- Необработанное исключение
Решение:
# Перезагрузите бот
docker compose restart remnawave-telegram-shop-bot
# Обновитесь если версия устаревшая
docker compose pull
docker compose up -dКартинка меню и закрепление (с 5.1.0)
Картинка не появилась
- Проверьте версию бота и
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 не работают
Проверьте:
# Правильные учетные данные
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 не работает
Проверьте:
docker compose logs remnawave-telegram-shop-bot | grep -i cryptoРешения:
- Переге нерируйте API токен если он истёк
- Проверьте формат токена (нет пробелов)
- Проверьте статус сервера CryptoPay
- Протестируйте с правильным адресом криптовалюты
Telegram Stars не появляются
Проверьте:
# Проверьте что включено
grep TELEGRAM_STARS_ENABLED .envРешения:
- Включите в параметрах @BotFather
- Проверьте что цены целые числа
- Перезагрузите бот:
docker compose restart - Проверьте что location пользователя поддерживает Stars
Проблемы с базой данных
Ошибка подключения к БД
Симптомы: "database connection failed" в логах
# Проверьте запущен ли PostgreSQL
docker compose ps postgres
# Проверьте доступность
docker compose exec postgres \
psql -U remnawave -d remnawave -c "SELECT 1"Решение:
# Перезагрузите БД
docker compose restart postgres
# Проверьте учетные данные в .env
grep DATABASE_URL .env
# Полная перезагрузка если необходимо
docker compose down
docker compose up -dБаза данных переполнена
Симптомы: Ошибки при INSERT/UPDATE
# Проверьте размер
docker compose exec postgres \
du -sh /var/lib/postgresql/dataРешения:
- Архивируйте старые данные
- Удалите неиспользуемые записи
- Увеличьте дисковое пространство
- Запустите VACUUM:
docker compose exec postgres psql -U remnawave -d remnawave -c "VACUUM;"
Медленные запросы в БД
Симптомы: Таймауты, высокая задержка
# Проверьте соединения
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;"Решения:
- Создайте недостающие индексы
- Обновите статистику таблиц
- Архивируйте исторические данные
- Обновите оборудование
Проблемы с конфигурацией
Неправильная переменная окружения
Симптом: Ошибка при загрузке
Проверьте:
# Проверьте синтаксис .env
docker compose config
# Проверьте на опечатки
grep -E "INVALID|TYPO" .envЧастые ошибки:
- Отсутствует знак
= - Значения с пробелами без кавычек
- Неправильный формат UUID
- Пробелы в конце строки
Изменения не применяются
Причина: Бот не перезагружен
Решение:
docker compose down
docker compose up -dПроблемы с API
Ошибка подключения к панели Remnawave
Проверьте:
# Протестируйте подключение
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
Решения:
- Снизьте частоту синхронизации
- Увеличьте интервал между запросами
- Свяжитесь с администратором панели
- Проверьте на вредоносный доступ
Проблемы пользователей
Пользователи не могут купить подписку
Проверьте:
docker compose logs remnawave-telegram-shop-bot | grep -i purchaseЧастые причины:
- Метод оплаты не включен
- Неправильные учетные данные платежной системы
- Пользователь заблокирован
- Недостаточно средств
Решение:
- Проверьте что методы оплаты включены
- Проверьте учетные данные платежной системы
- Проверьте логи пользователя
- Протестируйте процесс оплаты вручную
Уведомления об истечении не отправляются
Проверьте:
# Время уведомления
grep "16:00\|notification" /var/log/bot.log
# Проверьте токен Telegram
docker compose logs remnawave-telegram-shop-bot | grep -i notificationРешения:
- Проверьте что системное время правильное (UTC)
- Проверьте что токен Telegram валидный
- Проверьте логи уведомлений
- Проверьте языковые настройки пользователя
- Проверьте rate limiting
Команды для диагностики
# Полная диагностика
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Когда нужна перезагрузка
| Сценарий | Действие |
|---|---|
Изменили .env | docker compose down && docker compose up -d |
| Добавили пользователей в блоклист/вайтлист | Автоматически (для вайтлиста) или перезагрузка |
| Обновили образ Docker | docker compose pull && docker compose up -d |
| Проблемы с БД | docker compose restart postgres |
| Полный сброс | docker compose down && docker compose up -d |
Получение помощи
Если проблема остается:
- Соберите логи:
docker compose logs > logs.txt - Проверьте GitHub issues
- Ознакомьтесь с документацией
- Создайте issue с логами и конфигурацией (без секретов)