Проблема в том, что вы пытаетесь прочитать переменную из os.getenv
, которой не существует.
Ваш код может выглядеть примерно так:
# тут импорты...
import os
bot = Bot(token=os.getenv('5737447:Auyfufy8786HjhYddyty627397'))
dp = Dispatcher(bot)
# тут главный код...
(токен выдуман)
который пытается прочитать переменную 5737447:Auyfufy8786HjhYddyty627397
из окружения (например, Bash).
Разве это правильно? Нет. Поэтому есть несколько вариантов решения именно этой проблемы:
Во всех последующих примерах, замените 5737447:Auyfufy8786HjhYddyty627397
на свой токен.
Либо сделать переменную окружения:
Когда вы запускаете скрипт, передайте переменную окружения:
TOKEN="5737447:Auyfufy8786HjhYddyty627397" python main.py
или в две строки:
TOKEN="5737447:Auyfufy8786HjhYddyty627397"
python main.py
(Вместо main.py
поместите настоящее имя файла, в котором написан код бота.)
А в главном файле, замените это:
bot = Bot(token=os.getenv('5737447:Auyfufy8786HjhYddyty627397'))
на:
bot = Bot(token=os.getenv('TOKEN'))
Либо просто вставить токен в файл, и "не париться":
Замените в файле это:
bot = Bot(token=os.getenv('5737447:Auyfufy8786HjhYddyty627397'))
на это:
bot = Bot(token='5737447:Auyfufy8786HjhYddyty627397')
Что я сделал? Я просто убрал os.getenv()
из кода. Так тоже будет работать.
В ответе от @Владислав Новосёлов есть работающий способ. Можно также использовать его.