Как сделать так чтобы пока пользователь не ввёл число в телеграмм бот он не продолжал программу а запрашивал число?

Для реализации данного функционала в телеграмм боте на Python можно воспользоваться модулем python-telegram-bot, который предоставляет удобный и простой интерфейс для работы с API Telegram.

Прежде всего, убедитесь, что у вас установлен указанный модуль. Если нет, установите его с помощью pip:

pip install python-telegram-bot

Далее, вам следует создать обработчик команды, которая позволит пользователю ввести число. Пока пользователь не введет число, бот будет запрашивать его снова.

Пример кода:

from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

# Обработчик команды /start
def start(update: Update, context: CallbackContext):
    update.message.reply_text("Пожалуйста, введите число:")

# Обработчик ввода текста
def echo(update: Update, context: CallbackContext):
    try:
        number = int(update.message.text)
        update.message.reply_text(f"Вы ввели число: {number}")
    except ValueError:
        update.message.reply_text("Пожалуйста, введите корректное число.")

def main():
    # Инициализация бота
    updater = Updater("YOUR_API_KEY")
    dispatcher = updater.dispatcher

    # Добавление обработчиков команд
    dispatcher.add_handler(CommandHandler("start", start))
    dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

    # Запуск бота
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

При такой реализации, когда пользователь вводит текст, бот проверяет, можно ли текст преобразовать в число. Если да, то бот отвечает пользователю числом, иначе запрашивает ввод числа снова.

Не забудьте заменить "YOUR_API_KEY" на реальный API ключ вашего бота.