Форум сайта python.su
Здравствуйте,возникла проблемка.Решил попробовать написать бота,захотел добавить команду /Game,при которой бот присылает список цветов и предлагает пользователю выбрать один из них.Пользователь выбирает и если совпадает с тем ,что нарандомил random_color,то бот присылает сообщение,что пользоваетль угадал или же не угадал.Но бот после написания пользователем команды /Game принимает ее же, как за выбранный цвет и присылает сообщение,что пользователь не угадал.Кто знает в чем проблемка,подскажите как ее решить,буду благодарен.
import pyowm import random2 import telebot from time import sleep from random import choice @bot.message_handler(commands =['Game'] ) def game(message): bot.send_message(message.chat.id, "Введите ваш цвет(список:Зеленый Желтый Красный Синий)") colors = ['Желтый', 'Зеленый', 'Красный', 'Синий'] random_color = (choice(colors)).lower() color_user = message.text.lower() if color_user == random_color: bot.send_message(message.chat.id, 'Ты угадал!Цвет был ' + random_color) else: bot.send_message(message.chat.id,'Ты не угадал!Цвет был ' + random_color)
Отредактировано Daniil_unknown (Окт. 5, 2021 22:21:52)
Офлайн
Используй теги code для передачи кода.
[code python]
вот здесь код пиши
[/code]
Отредактировано py.user.next (Окт. 5, 2021 21:57:21)
Офлайн
Daniil_unknownВидимо, нужно использовать память. В памяти запоминаешь, что такой-то пользователь начал игру, и после этого запрашиваешь у него цвет следующим сообщением к нему. После того, как этот запомненный пользователь прислал ответ в виде слова, ты сравниваешь его ответ с выпавшим и запомненным для этого пользователя цветом, выводишь этому пользователю результат и удаляешь этого пользователя из памяти. Так несколько пользователей могут играть с ботом в несколько разных игр параллельно и бот этих пользователей не перепутает.
Но бот после написания пользователем команды /Game принимает ее же, как за выбранный цвет и присылает сообщение,что пользователь не угадал.
Отредактировано py.user.next (Окт. 6, 2021 04:17:31)
Офлайн
Daniil_unknown
в чем проблемка
@bot.message_handler(commands =['Game'] )
Офлайн