Telegram-бот не запускается после деплоя: как найти причину
Проверьте логи и отличите неверный BOT_TOKEN, конфликт webhook, нехватку памяти и ошибку сборки. Что исправлять перед повторным запуском.
Если контейнер запустился, это ещё не значит, что бот получает сообщения. Сначала откройте проект в кабинете Deployka и посмотрите последнюю ошибку и логи. Секреты из ENV и полный BOT_TOKEN не вставляйте в тикет или публичный чат.
1. Ошибка сборки или ошибка запуска?
Build failed означает, что образ не собрался: проверьте requirements.txt или package.json, имена пакетов и версию Python/Node. Если в сообщении сказано, что worker не может разрешить адрес реестра пакетов, это может быть сетевой сбой инфраструктуры: повторите попытку позже и обратитесь в поддержку, если он сохраняется. Покупка Nano не исправит недоступный реестр.
Container restarted after start означает, что приложение упало уже после сборки. Найдите первую строку traceback в логах: там часто указаны отсутствующий ENV, неверный импорт или путь к файлу.
2. Telegram пишет Unauthorized или InvalidToken
Проверьте BOT_TOKEN в ENV проекта. Вставьте действующий токен из @BotFather без пробелов и кавычек, сохраните ENV и повторите деплой. Не публикуйте токен в скриншотах; если он утёк, перевыпустите его у @BotFather.
3. Webhook is active или another getUpdates client
Один бот не должен одновременно опрашиваться несколькими запущенными копиями. Остановите свой локальный процесс и другие собственные инстансы с тем же токеном. Если вы раньше настраивали webhook для этого бота, проверьте его настройки и удалите webhook только после того, как убедитесь, что он больше не нужен. Затем перезапустите проект. Не меняйте webhook чужого или рабочего бота наугад.
4. Контейнер OOM-killed
Процесс превысил лимит памяти контейнера. Проверьте, не загружаете ли большую модель или файл целиком при старте, и нет ли бесконечного цикла перезапуска. Сократите потребление памяти; если приложению объективно нужно больше RAM, выберите подходящий тариф. Небольшое увеличение лимита не гарантирует, что тяжёлый проект заработает.
5. После исправления
- Сохраните изменения в коде или ENV.
- Повторите деплой и проверьте новые логи, а не старую ошибку.
- Отправьте тестовое сообщение боту и убедитесь, что он отвечает.
Если проект уже оплачен, ошибка запуска не требует второй оплаты: откройте его в кабинете и завершите активацию после исправления причины.
Ещё нет проекта? Создать проект на Deployka. Для проверки своего кода используйте Deploy Doctor, а при инфраструктурной ошибке или неясных логах напишите в поддержку.