Терминал выдаёт ошибку при запуске телеграм-бота
Терминал выдаёт следующую ошибку:
File "C:\Users\karld\TgBot.py", line 3, in <module>
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
ImportError: cannot import name 'Filters' from 'telegram.ext'
Помогите исправить код:
import logging
import requests
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
def start(update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="Привет! Я бот, который может искать картинки в интернете. Просто напиши, что тебя интересует, и я найду для тебя красивую картинку.")
def echo(update, context):
text = update.message.text
image_url = get_image_url(text)
if image_url:
context.bot.send_photo(chat_id=update.effective_chat.id, photo=image_url)
else:
context.bot.send_message(chat_id=update.effective_chat.id, text="Извините, я не смог найти картинку по вашему запросу.")
def get_image_url(query):
url = f"https://www.google.com/search?q={query}&source=lnms&tbm=isch"
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
if response.status_code == 200:
html = response.text
index = html.find("https://encrypted")
image_url = html[index:html.find("&", index)]
return image_url
return None
updater = Updater(token='YOUR_API_TOKEN', use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))
updater.start_polling()