Как мне реализовать это на боте telegram - PullRequest
0 голосов
/ 27 апреля 2020

Я хочу убедиться, что в первых трех играх, если пользователь выбирает кнопки в игре (3,1,2), он выигрывает, но во всех следующих играх кнопки победы случайные.

import telebot,config

bot = telebot.TeleBot(config.token)

@bot.message_handler(commands=['start'])
def start_message(message):
  msg = bot.send_message(message.from_user.id, 'Напишите сумму ставки.\nВ случае победы ваша ставка <b>утраивается!</b>', parse_mode="HTML")
  bot.register_next_step_handler(msg, enough_stavka)

def enough_stavka(message):
  global stavka
  game_markup = telebot.types.InlineKeyboardMarkup()
  first = telebot.types.InlineKeyboardButton('1⃣', callback_data='first')
  second = telebot.types.InlineKeyboardButton('2⃣', callback_data='second')
  three = telebot.types.InlineKeyboardButton('3⃣', callback_data='three')
  game_markup.row(first,second,three)
  stavka = int(message.text)
  if stavka < 1:
    msg = bot.send_message(message.from_user.id, "Сумма не может быть меньше 1 руб!")
    bot.register_next_step_handler(msg, enough_stavka)
  elif stavka >= 1:
    msg = bot.send_message(message.from_user.id, 'Выберити число:', reply_markup=game_markup, parse_mode="HTML")
    bot.register_next_step_handler(msg, game)

def game(call):
  bot.clear_step_handler_by_chat_id(call.from_user.id)
  again_markup = telebot.types.InlineKeyboardMarkup()
  again = telebot.types.InlineKeyboardButton('Играть ещё', callback_data='again')
  again_markup.row(again)
  if call.data == 'three':
    bot.send_message(call.from_user.id, 'Вы победили! Ваш выигрыш' + str(stavka * 3), reply_markup='again_markup')


if __name__ == '__main__':
  bot.polling()

...