Держи своего бота. Копируй код целиком - у тебя было много ошибок.
Написано без всяких извращений, учитывая 5 дней твоего знакомства с Python
Только вставь токен своего бота.
import telebot
import random
# инициализируем глобальные переменные, чтобы были видны во всех функциях
bal = 0 # баланс
game = 0 # количество игр
bot = telebot.TeleBot("токен твоего бота")
@bot.message_handler(commands=['start','kazik'])
def send_reshkaorel(message):
# Запускаем игру если юзер ввел команду /start или /kazik
bot.send_message(message.from_user.id, 'Пополните баланс: ')
bot.register_next_step_handler(message, register_balance)
def register_balance(message):
global bal
bal = message.text
# Проверяем, что юзер ввел именно число,
# чтобы программа дальше не вызывала исключений
if bal.isdigit():
bot.send_message(message.from_user.id, 'Ваш баланс: ' + bal)
bal = int(bal) # Приводим к int,-дальше нужно считать баланс
bot.send_message(message.from_user.id, 'Cколько игр вы хотите сыграть: ')
bot.register_next_step_handler(message, register_numbers)
else:
bot.send_message(message.from_user.id, 'Мы не пополняем баланс буквами! Введите цифры')
bot.register_next_step_handler(message, register_balance)
def register_numbers(message):
global game
game = message.text
# Cнова проверяем на ввод именно числа
if game.isdigit():
bot.send_message(message.from_user.id, 'Вы хотите сыграть: ' +str(game) + ' игр')
game = int(game)
bot.send_message(message.from_user.id, 'Выберите число (1 или 2): ')
bot.register_next_step_handler(message, reg_ist)
else:
bot.send_message(message.from_user.id, 'C таким рамахом вам в песочнице играть! Введите цифры')
bot.register_next_step_handler(message, register_numbers)
# Цикл использовать нельзя, так обработчик сообщений находится вне тела цикла
def reg_ist(message):
global bal
global game
if game:
j = message.text
u = (random.randint(1, 2))
if str(u) == j:
# Игровая механика
up = bal + (bal/2)
bal = bal + (bal/2)
game = game - 1
# Отправляем результат юзеру
bot.send_message(message.from_user.id, "Вы выиграли!")
bot.send_message(message.from_user.id, "Ваш текущий баланс: " + str(up))
bot.register_next_step_handler(message, reg_ist)
else:
# Игровая механика
down = bal - (bal/2)
bal = bal - (bal/2)
game -= 1
# Отправляем результат юзеру
bot.send_message(message.from_user.id, "Вы проиграли!")
bot.send_message(message.from_user.id, "Ваш текущий баланс: " + str(down))
bot.register_next_step_handler(message, reg_ist)
else:
# Сыграны все игры
bot.send_message(message.from_user.id, "Вы сыграли все заказаные игры ")
bot.send_message(message.from_user.id, "Желаете сыграть еще разок?")
bot.send_message(message.from_user.id, "Введите да/нет")
bot.register_next_step_handler(message, reg_continue)
def reg_continue(message):
if message.text.lower() == 'да':
bot.send_message(message.from_user.id, 'Пополните баланс: ')
bot.register_next_step_handler(message, register_balance)
else:
bot.send_message(message.from_user.id, 'Разбогатеете - приходите еще !!!')
bot.infinity_polling()