Найти - Пользователи
Полная версия: помогите найти ошибку
Начало » Python для новичков » помогите найти ошибку
1 2
Alezuros
Начало скрипта для телеграм-бота:
     from telegram import Bot
    from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

При запуске терминал выдает ошибку:
File “new.bot.py”, line 1
from telegram import Bot
IndentationError: unexpected indent

То есть, ошибка отступов в первой строке. Перепроверил, 4 пробела перед началом строки.
В чем может быть ошибка?
Alex.Pro.
Alezuros
То есть, ошибка отступов в первой строке. Перепроверил, 4 пробела перед началом строки.
В чем может быть ошибка?
Первая строка сразу с отступом? С какого бодуна? Отступы нужны внутри какого-то блока. Первая строка не входит ни в какой блок. Убирай отступы.
Alezuros
Спасибо, с отступами разобрался. Теперь вылазит новая ошибка:

File “new.bot.py”, line 2, in <module>
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
ImportError: cannot import name ‘Filters’ from ‘telegram.ext’ (C:\Users\user\App
Data\Local\Programs\Python\Python38\lib\site-packages\telegram\ext\__init__.py)

Что это может быть? некорректно установлена библиотека?
Alex.Pro.
Alezuros
ImportError: cannot import name ‘Filters’ from ‘telegram.ext’
В разных версиях python-telegram-bot фильтры следует импортировать по-разному. Попробуй один из следующих вариантов:
    
from telegram.ext import filters
from telegram import filters
Alezuros
Alex.Pro.
Попробуй один из следующих вариантов
Увы, никак.
Alex.Pro.
Ну, не знаю…
Можешь удалить python-telegram-bot и установить свежую версию? С версией 20+ должен работать такой импорт:
 from telegram import filters
Alezuros
Alex.Pro.
установить свежую версию
У меня стоит версия 21.6 Предложенный тобой вариант импорта тоже не работает.
Так выглядит мой код:
 from telegram import Bot
from telegram import ApplicationBuilder, CommandHandler, MessageHandler, Filters, CallbackContext
А так выглядит ошибка при запуске:
 Traceback (most recent call last):
  File "new.bot.py", line 2, in <module>
    from telegram import ApplicationBuilder, CommandHandler, MessageHandler, Fil
ters, CallbackContext
ImportError: cannot import name 'ApplicationBuilder' from 'telegram' (C:\Users\u
ser\AppData\Local\Programs\Python\Python38\lib\site-packages\telegram\__init__.p
y)
Может быть проблема в содержимом файла __init__.py ?
Alex.Pro.
Не Filters, а filters! Feel the difference! Регистр имеет значение! Пробуй так:
    
from telegram import Bot, filters
from telegram.ext import ApplicationBuilder, Updater, CommandHandler, MessageHandler
Alezuros
 Traceback (most recent call last):
  File "new.bot.py", line 1, in <module>
    from telegram import Bot, filters
ImportError: cannot import name 'filters' from 'telegram' (C:\Users\user\AppData
\Local\Programs\Python\Python38\lib\site-packages\telegram\__init__.py)
Alex.Pro.
Проверь, что установлена только python-telegram-bot, и не установлена просто telegram:
pip list
Удали конфликтующий пакет и заново установи нужный пакет:
   
pip uninstall telegram
pip install python-telegram-bot
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB