Python

Нужна помощь.(Язык программирования Python)

import telebot

import random



bot = telebot.TeleBot("5609990784:AAGZP9kZmYTVYFpCCIG36ZPiWy4ertssBWM")





@bot.message_handler(commands=['start', 'kazik'])

def send_reshkaorel(message):

bot.send_message(message.from_user.id, 'Пополните баланс: ')

bot.register_next_step_handler(message, register_balance)





def register_balance(message):

a = message.text

bot.send_message(message.from_user.id, 'Ваш баланс: ' + a)

bot.send_message(message.from_user.id, 'Cколько игр вы хотите сыграть: ')

bot.register_next_step_handler(message, register_numbers)





def register_numbers(message):

m = message.text

bot.send_message(message.from_user.id, 'Вы хотите сыграть: ' + str(m) + ' игр')

for s in range(4):

bot.send_message(message.from_user.id, 'Выберите число (1 или 2): ')

bot.register_next_step_handler(message, reg_ist)



def reg_ist(message):

j = message.text

u = random.randint(1, 2)

if u == l:

bot.send_message(message.from_user.id, "Вы выиграли!")

a = a + a / 2

bot.send_message(message.from_user.id, "Ваш текущий баланс: " + str(a))

else:

bot.send_message(message.from_user.id, "Вы проиграли!")

a = a + a / 2

bot.send_message(message.from_user.id, "Ваш текущий баланс: " + str(a))





bot.infinity_polling()
Помогите, я изучаю программирование 5 день. Захотел написать бота в телеграме на основе моей прошлой игры. После ввода числа программа выдаёт ошибку. Помогите пожалуйста!!!!
Я кот если что.
Держи своего бота. Копируй код целиком - у тебя было много ошибок.
Написано без всяких извращений, учитывая 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()
Игорь Карасев
Игорь Карасев
1 600
Лучший ответ
Евгений Жирнов Аоаоаоа спасибо большое!!!!!! Я просто в шоке! Спасибо!
На этой строчке
 bot.register_next_step_handler(message, reg_ist)  
еще не существует функции reg_ist. Её надо сначала объявить где-то выше в коде, потом упоминать.

bot = telebot.TeleBot("....

Тут, вроде бы, личные данные, не разбираюсь в телеге. Убери строку из вопроса))
Евгений Жирнов Офигеть, спасибо! Ты крут.