AttributeError: module 'telegram' has no attribute 'Bot'

13,629

Solution 1

I assume you're referring to python-telegram-bot and that you solely use python-pip for package installation (and not your OS's package manager):

  1. Ensure that you don't have colliding telegram packages installed:
~> pip3 list | grep -i telegram
python-telegram-bot 11.1.0
  1. Force reinstall:
pip install --user --force-reinstall python-telegram-bot
  1. Ensure that you don't accidentally have a telegram.py within your project.

Solution 2

It seems like you've installed the telegram package (according to the comments). Uninstall that one, and then you need to go and choose one that gives you the Bot class instead. For example:

Looks to me like the first one is more developed (the second one hasn't been touched in a while), but they have different licenses. Explore the options!

Solution 3

Note that your file name (.py) does not the same with your package name.

Solution 4

I have faced the same issue and founded comment in releated GitHub issue that if you run code in test.py file you will have this issue. Maybe it will solve the issue for you.

Share:
13,629
Duncan Jansen
Author by

Duncan Jansen

Updated on June 14, 2022

Comments

  • Duncan Jansen
    Duncan Jansen almost 2 years

    I am using python and getting this error.

    1. import telegram
    2. telegram.Bot(token = '###############')

    When I run this, appears: "AttributeError: module 'telegram' has no attribute 'Bot'" Any ideas how to solve this?