@qot

Выдает ошибку bot_data = bot_data['dice']['value'] TypeError: 'Message' object is not subscriptable.Что делать?

@bot.message_handler(commands=['kosti'])
def kosti(message: types.Message):
bot.send_message(message.from_user.id, f"Ну, что, {message.from_user.username}, сыграем в кости!")
sleep(1)
bot_data = bot.send_dice(message.from_user.id)
bot_data = bot_data['dice']['value']
sleep(4)
user_data = bot.send_dice(message.from_user.id)
user_data = user_data['dice']['value']
sleep(4)
if bot_data>user_data:
bot.send_message(message.from_user.id, "Вы проиграли боту в кубики(")
bmoney -= 1000
elif bot_data < user_data:
bot.send_message(message.from_user.id, "Вы выиграли)")
bmoney += 5000
else:
bot.send_message(message.from_user.id, "Ничья!")
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
SoreMix
@SoreMix
yellow
Возвращается Message, в нем есть Dice, в нем value/emoji

user_data.dice.value
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
- bot_data = user_data['dice']['value']
+ bot_data = bot_data.dice.value
Ответ написан
Комментировать
@Medovochka
Попробуй так:

@bot.message_handler(commands=['kosti'])
def kosti(message: types.Message):
    bot.send_message(message.from_user.id, f"Ну, что, {message.from_user.username}, сыграем в кости!")
    sleep(1)
    
    bot_data = bot.send_dice(message.from_user.id).dice.value
    sleep(4)
    
    user_data = bot.send_dice(message.from_user.id).dice.value
    sleep(4)
    
    if bot_data > user_data:
        bot.send_message(message.from_user.id, "Вы проиграли боту в кубики(")
        bmoney -= 1000
    elif bot_data < user_data:
        bot.send_message(message.from_user.id, "Вы выиграли)")
        bmoney += 5000
    else:
        bot.send_message(message.from_user.id, "Ничья!")
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы