Как настроить бота на ожидание ответа?

Как сделать бот-игру, в которой бот называет страну, а пользователь должен ответить столицей этой страны, используя Python и Telebot?
  • 25 июля 2024 г. 22:52
Ответы на вопрос 2
Для настройки бота на ожидание ответа от пользователя можно использовать методы обработки сообщений в Telebot.

Пример кода для бот-игры "Угадай столицу":
```python
import telebot
from telebot import types

bot = telebot.TeleBot("YOUR_API_TOKEN")

countries_capitals = {
    "Россия": "Москва",
    "США": "Вашингтон",
    "Франция": "Париж",
    # Добавьте другие страны и их столицы
}

@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, "Давай поиграем в 'Угадай столицу'! Я скажу тебе страну, а ты угадываешь её столицу.")

@bot.message_handler(func=lambda message: True)
def game(message):
    country = random.choice(list(countries_capitals.keys()))
    capital = countries_capitals[country]
    bot.send_message(message.chat.id, f"Страна: {country}\nКакая столица у этой страны?")

    @bot.message_handler(func=lambda message: message.text.lower() == capital.lower())
    def correct_answer(message):
        bot.reply_to(message, f"Верно! Столица {country} - {capital}")
        game(message)

    @bot.message_handler(func=lambda message: True)
    def wrong_answer(message):
        bot.reply_to(message, f"Неверно! Попробуй еще раз.")

bot.polling()
```

Код выше создает бот, который задает пользователю вопросы о столицах различных стран и ждет правильного ответа. При правильной догадке бот выдает сообщение "Верно!", при неправильной - "Неверно!". Бот продолжает игру и задает следующий вопрос.

Не забудьте заменить `"YOUR_API_TOKEN"` на ваш токен API бота. Все страны и их столицы можно добавить в словарь `countries_capitals`.
напиши мне в телеге @king112396, бот есть но только не на питоне , придумаем что нибудь
Похожие вопросы