Помогите разобратся с циклом в TelegramAPI
Вся задача кода это:
- При активации команды (а именно /test) бот задаёт вопрос, и числовой ответ на вопрос он загоняет в переменную nitro.
- Значение этой переменной бот должен использовать как кол-во повторов.
- Бот выполняет код, и приходит к моменту когда нужно по ходу работы ответить на вопрос бота. НО. В момент когда бот задаёт вопрос, скрипт крашится. Если использую этот метод ввода данных вне цикла, то всё работает. Но стоит мне только попытаться запихнуть его в цикл. Так всё сразу крашится. Код:
def start(message):
msgPrice = bot.send_message(message.chat.id, 'Сколько раз повторить программу?')
bot.register_next_step_handler(msgPrice , Set_zap)
def Set_zap(messages):
userPrice= messages.text
nitro=messages.text
nitro=int((nitro))
while nitro!=0:
print('Бим бам бам. Выполняю код.')
print('Бим бам бам. Выполняю код.')
msgPrice = bot.send_message(messages.chat.id, 'Сколько сейчас минут? (если на часах 11:37, то введи 37)')
bot.register_next_step_handler(msgPrice , Set_zapor)
def Set_zapor(messages):
userPrice= messages.text
bot.send_message(messages.chat.id, f'Ну типа того чты: {messages.text}')
Ответы (1 шт):
Автор решения: Nick
→ Ссылка
у тебя бесконечный цикс, потому что переменная nitro не изменяется.
def start(message):
msgPrice = bot.send_message(message.chat.id, 'Сколько раз повторить программу?')
bot.register_next_step_handler(msgPrice , Set_zap)
def Set_zap(messages):
userPrice= messages.text
nitro=int(messages.text)
while nitro!=0:
print('Бим бам бам. Выполняю код.')
print('Бим бам бам. Выполняю код.')
msgPrice = bot.send_message(messages.chat.id, 'Сколько сейчас минут? (если на часах 11:37, то введи 37)')
bot.register_next_step_handler(msgPrice , Set_zapor)
def Set_zapor(messages):
userPrice= messages.text
bot.send_message(messages.chat.id, f'Ну типа того чты: {messages.text}')
nitro -= 1