python-telegram-bot: TypeError: can only concatenate str (not "tuple") to str
Учусь на Я.Практикуме. Пишем бота, который уведомляет об изменении статуса домашней работы. Код написан, ревьюером проверен, всё хорошо. Но он не запускается. Библиотека python-telegram-bot ругается, выдаёт такую ошибку:
Traceback (most recent call last):
File "c:\Dev\homework_bot\homework.py", line 162, in <module>
main()
File "c:\Dev\homework_bot\homework.py", line 119, in main
bot = telegram.Bot(token=TELEGRAM_TOKEN)
File "C:\Dev\homework_bot\spr7_venv\lib\site-packages\telegram\_bot.py", line 231, in __init__
self._base_url: str = base_url + self._token
TypeError: can only concatenate str (not "tuple") to str
Я сначала попробовала аннотацией типов присвоить константе TELEGRAM_TOKEN тип str. Вроде поменялся:

Но всё равно выходит та же ошибка. Переустанавливала пакеты, всё без толку.
Заранее спасибо за любую помощь/подсказку!?
Ответы (1 шт):
Похоже, что в переменной TELEGRAM_TOKEN у вас хранится не строка, а кортеж. Вам нужно проверить, каким образом вы определяете эту переменную.
Убедитесь, что она правильно задана и не содержит ошибок. В Windows команда для проверки значения переменной окружения:
echo %TELEGRAM_TOKEN%
В Linux и macOS:
echo $TELEGRAM_TOKEN
Также убедитесь, что вы не перезаписываете значение переменной TELEGRAM_TOKEN где-то в коде.
Если после проверки всего вышеуказанного ошибка остается, то попробуйте явно преобразовать значение переменной TELEGRAM_TOKEN к типу str:
bot = telegram.Bot(token=str(TELEGRAM_TOKEN))
Также убедитесь, что вы используете последнюю версию библиотеки python-telegram-bot. Если вы используете устаревшую версию, то могут возникать проблемы совместимости.
