помогите с чат ботом

введите сюда описание изображения

import telebot # для работы с телеграм ботом
import re # для работы с регулярными выражениями
import wikipedia # для поиска статей и изображений на Википедии
import requests # для работы с HTTP запросами
import json # для работы с JSON данными

# Создаем объект бота с помощью токена
# Вставьте свой токен вместо YOUR-TOKEN
bot = telebot.TeleBot("*?((*")

# Создаем клавиатуру с двумя кнопками: "Значение" и "Фото"
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
button1 = telebot.types.KeyboardButton("Значение")
button2 = telebot.types.KeyboardButton("Фото")
keyboard.add(button1, button2)

# Определяем функцию, которая будет обрабатывать команду /start
@bot.message_handler(commands=["start"])
def start_message(message):
    # Отправляем приветственное сообщение и показываем клавиатуру
    bot.send_message(message.chat.id, "Привет! Я чат-бот, который может показать тебе значение или фото любого слова. Нажми на одну из кнопок и введи слово.", reply_markup=keyboard)

# Определяем функцию, которая будет обрабатывать текстовые сообщения от пользователя
@bot.message_handler(content_types=["text"])
def handle_text(message):
    # Получаем текст сообщения
    text = message.text
    # Проверяем, является ли текст словом (состоит из букв и пробелов)
    if re.match("^[a-zA-Zа-яА-Я ]+$", text):
        # Проверяем, какая кнопка была нажата перед вводом слова
        if message.reply_to_message:
            # Если была нажата кнопка "Значение"
            if message.text == "Значение":
                # Пытаемся найти статью на Википедии по этому слову
                try:
                    page = wikipedia.page(text)
                    # Получаем краткое описание статьи и отправляем его пользователю
                    summary = page.summary
                    bot.send_message(message.chat.id, summary)
                # Если не удалось найти статью на Википедии, сообщаем пользователю об ошибке
                except wikipedia.exceptions.PageError:
                    bot.send_message(message.chat.id, "Извините, я не нашел статьи на Википедии по слову " + text)
                except wikipedia.exceptions.DisambiguationError:
                    bot.send_message(message.chat.id, "Извините, это слово имеет несколько значений. Пожалуйста, уточните свой запрос.")
            # Если была нажата кнопка "Фото"
            elif message.text == "Фото":
                # Пытаемся найти изображение на Википедии по этому слову
                try:
                    page = wikipedia.page(text)
                    # Получаем список изображений, связанных со статьей
                    images = page.images
                    # Если список не пустой, выбираем случайное изображение и отправляем его пользователю
                    if images:
                        import random
                        image = random.choice(images)
                        bot.send_photo(message.chat.id, image)
                    # Иначе сообщаем пользователю, что не нашли изображений на Википедии по этому слову
                    else:
                        bot.send_message(message.chat.id, "Извините, я не нашел изображений на Википедии по слову " + text)
                # Если не удалось найти статью на Википедии, сообщаем пользователю об ошибке
                except wikipedia.exceptions.PageError:
                    bot.send_message(message.chat.id, "Извините, я не нашел статьи на Википедии по слову " + text)
                except wikipedia.exceptions.DisambiguationError:
                    bot.send_message(message.chat.id, "Извините, это слово имеет несколько значений. Пожалуйста, уточните свой запрос.")
                # Продолжаем попытку найти изображение с помощью Bing Image Search API

                # Формируем URL для запроса к Bing Image Search API
                # Вставьте свой ключ доступа вместо YOUR-KEY
                url = "https://api.bing.microsoft.com/v7.0/images/search?q=" + text + "&count=1&subscription-key=*:*:"
                # Делаем запрос и получаем ответ в виде JSON данных
                response = requests.get(url)
                data = json.loads(response.text)
                # Получаем список результатов поиска
                results = data["value"]
                # Если список не пустой, выбираем первый результат и получаем его URL
                if results:
                    image = results[0]["contentUrl"]
                    # Отправляем изображение пользователю по его URL
                    bot.send_photo(message.chat.id, image)
                # Иначе сообщаем пользователю, что не нашли изображений по этому слову
                else:
                    bot.send_message(message.chat.id, "Извините, я не нашел изображений по слову " + text + " ни на Википедии, ни на Bing Image Search API")
        else:
            # Если ни одна кнопка не была нажата перед вводом слова, спрашиваем пользователя, что он хочет узнать: значение или фото
            bot.send_message(message.chat.id, "Что вы хотите узнать о слове " + text + ": его значение или фото?", reply_markup=keyboard)
    else:
        # Если текст не является словом, сообщаем пользователю об этом
        bot.send_message(message.chat.id, "Пожалуйста, введите одно слово.")

# Запускаем бота
bot.polling(none_stop=True, interval=0)

Ответы (0 шт):