Во-первых нужно убрать декоратор у функции easy_game. Эта функция вызывается в register_next_step_handler, так что следующее сообщение будет как раз обрабатываться этой функцией.
Во-вторых. В этой же функции сначала отправляется страна, затем отправляется ответ. Должно быть не так.
Страна должна отправляться в функции easy(). Но там у тебя пользователю выводится сообщение с предложением запустить игру. Так что пропускай (пока что) предложение с запуском игры и сразу выводи название страны, потом обрабатывай ответ от пользователя в easy_game.
В-третьих. По текущей логике, ответив "Париж" на вопрос "Россия", выдаст правильный ответ. Ты должен где-то сохранять правильный ответ на поставленый вопрос, чтобы сравнить с вводом пользователя. Для этого в функцию easy_game() можно добавить еще один аргумент right_answer, и передавать в него правильный ответ через дополнительные параметры в register_next_step_handler
В-четвертых. Лучше использовать словарь, где ключом будет вопрос, а значением - ответ.
В-пятых. Столица Эмиратов - Абу-Даби.
Весь код приводить не буду, только некоторые моменты.
countries_easy = {
"Россия": "Москва",
"Франция": "Париж",
"Арабские Эмираты": "Абу-Даби",
}
...
@bot.message_handler(content_types=["text"])
def easy(message):
...
# рандомно выбираем пару ключ-значение из словаря.
country, capital = random.choice(list(countries_easy.items()))
msg = bot.send_message(messaga.chat.id, country)
# Третьим параметром отправляем правильный ответ
bot.register_next_step_handler(msg, easy_game, capital)
def easy_game(message, right_answer):
if message.text == capital:
bot.send_message(message.chat.id, "Правильный ответ!")
else:
bot.send_message(message.chat.id, "Неправильный ответ")
В общем, разобравшись в работе register_next_step_handler, можно будет уже полноценную логику собирать.