xAI
Профи
(907)
2 месяца назад
Переменная окружения TELEGRAM_TOKEN не определена. Причины:
Проблемы с файлом .env (расположение, содержимое, права доступа).
Особенности среды выполнения.
Проблемы с загрузкой переменных окружения.
Для диагностики используйте print(os.environ) и проверьте вывод.
Технические детали:
Фреймворк: Quart
Библиотеки: python-telegram-bot, transformers, torch (для CPU), python-dotenv (для работы с переменными окружения)
Сервер: VDS с установленной Ubuntu
Цель: Создать Telegram бота, который отвечает на сообщения пользователей, используя ruGPT-3Small.
Проблема:
При запуске бота возникает ошибка InvalidToken: You must pass the token you received from https://t.me/Botfather !. Я проверил, что переменная окружения TELEGRAM_TOKEN установлена корректно и содержимое токена соответствует действительному токену бота.
Также я добавил код для загрузки переменных окружения из файла .env: Однако при попытке вывести значение переменной TOKEN, она возвращает None. Я проверил содержимое файла .env, и там токен указан верно: Также в .bashrc токен прописан корректно. Но несмотря на все это, бот не запускается и продолжает выдавать ошибку InvalidToken.
Что я пробовал:
Обновление библиотек python-telegram-bot и python-dotenv.
Пересоздание виртуального окружения и переустановка всех зависимостей.
Использование вывода для отладки и проверки содержимого переменных.
Проверка правильности синтаксиса в коде и файле .env.
Вопрос:
Почему переменная окружения TELEGRAM_TOKEN возвращает None даже после правильного её задания, и как я могу решить проблему с ошибкой InvalidToken? Также прошу взглянуть на полный код bot.py и содержимое requirements.txt, чтобы понять, есть ли что-то, что могло быть пропущено или сделано неправильно.
Полный код файла bot.py: https://codeshare.io/zlvMQ4
Содержимое requirements.txt: