0 / 0 / 0
Регистрация: 01.06.2021
Сообщений: 1

Бесконечный цикл в боте телеграм до правильного значения с возможностью присваивания нового сообщения в переменную

01.06.2021, 09:23. Показов 4146. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет ребята, я столкнулся с такой проблемой. Как сделать так чтобы бот отправилял "Пиши именно так, как я написал" пока не напишешь ему именно так, как он написал. Тут сначала в функции reg_name он спрашивает "Сколько тебе лет?" потом сообщение идет в функцию reg_age там это сообщение присваивается переменной chislo и цикл пробует перевести chislo в int если переводит оно стоп и это сообщение вот сюда не идет сразу bot.register_next_step_handler(message, age_ok), туда идет только следующее и да еще без проверки, если не получается перевести в int, то он берет эту переменную и флудит "Пиши именно так, как я написал" бесконечно, потому что сообщение присвоилось такое, которое он не может перевести в int. Так как же сделать так, чтобы он один раз написал "Пиши именно так, как я написал" и дал возможность присвоить в эту переменную заново какое нибудь уже другое сообщение и еще раз проверил, если опять неправильно, то опять чтобы дал возможность присвоить заново и так бесконечно. И еще как сделать так, если все правильно чтобы сообщение сразу сюда это попадало, которое проверилось bot.register_next_step_handler(message, age_ok). Я новичок, изучаю только 3 дня, буду рад если поможете.)


Код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def reg_name(message):
    global name
    name = message.text
    bot.send_message(message.from_user.id, "Сколько тебе лет? ( Цифрами )")
    bot.register_next_step_handler(message, reg_age)
 
 
def reg_age(message):
    global age
    chislo = message.text
    while True:
        try:
            age = int(message.text)
            break
        except ValueError:
            bot.send_message(message.from_user.id, "Пиши именно так, как я написал")
        bot.register_next_step_handler(message, age_ok)
 
 
def age_ok(message):
    bot.send_message(message.from_user.id, 'Если хочешь узнать, что получилось пиши "Давай результаты"' )
    bot.register_next_step_handler(message, result)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2021, 09:23
Ответы с готовыми решениями:

Превышение размера сообщения в телеграм боте
Доброго, столкнулся с затыком: data = json.load(json_file) if data == : bot.send_message(message.chat.id, "STOP!")...

Бесконечный цикл сервера выводящий сообщения
Проблемка состоит в том, что если клиент как-то аварийно отключится от сервера, например, когда остановить обработку кода, если хоть одно...

Прога вылетает на моменте присваивания string'y нового значения
Ребят, подскажите божалуйста блондинке )))***** Не могу понять, почему прога вылетает на месте где присваеваеться новое значение...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2021, 09:23
Помогаю со студенческими работами здесь

фото в телеграм боте
import telebot bot = telebot.TeleBot('token') @bot.message_handler(commands=) def start(message): ...

Посты в телеграм боте
Подскажите как делать посты в телеграм боте в таком формате

Создание команд в телеграм боте
Мне нужна функция, для создания команд по параметрам, если, что можно сказать, что названия файлов с ботами известны только в виде...

Отображение картинок в телеграм боте
Как то телеграм отображает картинки не так, как я ожидаю! Есть картинка 150x150. На экране телефона она выдается растянутая, а с...

Запрос от кнопок в телеграм боте
Подскажите пожалуйста, как в asp.net mvc можно обработать событие нажатия кнопки(Inline button) от бота, если это вообще возможно в рамках...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru