@khomut
хожу на тусовки, ношу кроссовки

Почему мой телеграм-бот сам себя зацикливает?

Добрый день, помогите пожалуйста.
Что я делаю не так? Гугл мне не помогает. Я не знаю, можно ли тут ссылки добавлять на бота(RandomKhomutovBot)
Учу питон, ради развлечения решил сделать телеграм бота, который выдаёт рандомное число в заданном диапазоне.
Но когда запускаю его в телеге, он не дожидаясь ответа пользователя, бесконечно запускает первый цикл)
616ae6f530f26514227618.jpeg
текст кода здесь

import telebot
from random import randint
from time import sleep

bot = telebot.TeleBot('2040348328:AAGELseRCTUreCZKC3MhqM3FyE9ZTKh4pAw')

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
bot.send_message(message.from_user.id, "Привет, я умею генерировать случайные числа, в пределах заданного диапазона")
sleep(2)
bot.send_message(message.from_user.id, "Введи наименьшее число диапазона")
while True:
try:
num_1 = int(message.text)
except Exception:
bot.send_message(message.from_user.id, 'Цифрами, пожалуйста')
continue
bot.send_message(message.from_user.id, "Введи наибольшее число диапазона")
num_2 = int(message.text)
if num_1 > num_2:
num_1, num_2 = num_2, num_1
bot.send_message(message.from_user.id, randint(num_1, num_2))
sleep(1)
bot.send_message(message.from_user.id, "Ещё раз?(да/нет)")
if message.text.lower == 'да':
bot.send_message(message.from_user.id, "Введи наименьшее число диапазона")
continue

bot.polling(none_stop=True, interval=0)
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Почему зацикливается? Потому что вы добавили бесконечный цикл.

не дожидаясь ответа пользователя

Он и не будет ждать. Если нужен ввод от пользователя - используйте bot.register_next_step_handler()

https://github.com/eternnoir/pyTelegramBotAPI/blob...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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