Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 5, 2021 21:38:23

Daniil_unknown
Зарегистрирован: 2021-10-05
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с telebot.Помощь с кодом

Здравствуйте,возникла проблемка.Решил попробовать написать бота,захотел добавить команду /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)

Офлайн

#2 Окт. 5, 2021 21:57:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Работа с telebot.Помощь с кодом

Используй теги code для передачи кода.

[code python]
вот здесь код пиши
[/code]



Отредактировано py.user.next (Окт. 5, 2021 21:57:21)

Офлайн

#3 Окт. 6, 2021 04:13:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Работа с telebot.Помощь с кодом

Daniil_unknown
Но бот после написания пользователем команды /Game принимает ее же, как за выбранный цвет и присылает сообщение,что пользователь не угадал.
Видимо, нужно использовать память. В памяти запоминаешь, что такой-то пользователь начал игру, и после этого запрашиваешь у него цвет следующим сообщением к нему. После того, как этот запомненный пользователь прислал ответ в виде слова, ты сравниваешь его ответ с выпавшим и запомненным для этого пользователя цветом, выводишь этому пользователю результат и удаляешь этого пользователя из памяти. Так несколько пользователей могут играть с ботом в несколько разных игр параллельно и бот этих пользователей не перепутает.



Отредактировано py.user.next (Окт. 6, 2021 04:17:31)

Офлайн

#4 Окт. 6, 2021 12:41:54

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1354
Репутация: +  118  -
Профиль   Отправить e-mail  

Работа с telebot.Помощь с кодом

Daniil_unknown
в чем проблемка

вот здесь бот у тебя реагирует на сообщение с текстом /Game
 @bot.message_handler(commands =['Game'] )

а где у тебя код,где бот реагирует на сообщение с названием цвета?

если не понимаешь о чем я говорю,то можешь найти код в интернете и сделать ctrl+c, ctrl+v, потому что о программировании от начала тебе тут долго рассказывать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version