Top.Mail.Ru
Ответы

Telegram бот на базе модели ruGPT-3Small с использованием Quart и Python

Я разрабатываю Telegram бота на Python, который использует модель ruGPT-3Small для генерации текстов. Бот должен работать через вебхук на сервере с использованием фреймворка Quart. Проект развернут на VDS, и я использую виртуальное окружение для установки необходимых зависимостей.

Технические детали:

Фреймворк: 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:

123456
 from dotenv import load_dotenv 
import os 
 
load_dotenv()  # Загрузка переменных из .env 
 
TOKEN = os.getenv("TELEGRAM_TOKEN")  

Однако при попытке вывести значение переменной TOKEN, она возвращает None. Я проверил содержимое файла .env, и там токен указан верно:

1
 TELEGRAM_TOKEN=ваш_токен  

Также в .bashrc токен прописан корректно. Но несмотря на все это, бот не запускается и продолжает выдавать ошибку InvalidToken.

Что я пробовал:

Обновление библиотек python-telegram-bot и python-dotenv.
Пересоздание виртуального окружения и переустановка всех зависимостей.
Использование вывода для отладки и проверки содержимого переменных.
Проверка правильности синтаксиса в коде и файле .env.
Вопрос:

Почему переменная окружения TELEGRAM_TOKEN возвращает None даже после правильного её задания, и как я могу решить проблему с ошибкой InvalidToken? Также прошу взглянуть на полный код bot.py и содержимое requirements.txt, чтобы понять, есть ли что-то, что могло быть пропущено или сделано неправильно.

Полный код файла bot.py: https://codeshare.io/zlvMQ4

Содержимое requirements.txt:

12345
 python-dotenv==1.0.1 
python-telegram-bot==21.4 
Quart==0.19.6 
transformers==4.44.1 
torch==2.4.0+cpu 
Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Профи
9мес

Переменная окружения TELEGRAM_TOKEN не определена. Причины:
Проблемы с файлом .env (расположение, содержимое, права доступа).
Особенности среды выполнения.
Проблемы с загрузкой переменных окружения.
Для диагностики используйте print(os.environ) и проверьте вывод.