Как запретить отправлять определенные типы смс telebot Python?

Как можно запретить отправлять любой тип сообщений кроме текста?

Просто у меня есть форма регистрации которая при отправке любого вида сообщения кроме текста крашит бота. Ну и мне приходится его вручную поднимать. Хотел бы просто запретить любые типы кроме текста, так как всё равно ничего кроме текста в бот отправляться не будет.

Если интересно, то вот код регистрации:

@bot.message_handler(content_types=['text'])
def register(message):
    if message.text == '/reg':
        global userID
        global username
        userID = message.from_user.id
        username = message.from_user.username
        bot.send_message(message.from_user.id, "Введите Ваше имя.")
        bot.register_next_step_handler(message, get_name)  # следующий шаг – функция get_name


def get_name(message):  # Получаем имя
    global name
    name = message.text
    bot.send_message(message.from_user.id, 'Введите Вашу фамилию.')
    bot.register_next_step_handler(message, get_surname)


def get_surname(message):  # Получаем фамилию
    global surname
    surname = message.text
    bot.send_message(message.from_user.id, 'Введите Ваш возраст.')
    bot.register_next_step_handler(message, get_age)


def get_age(message):  # Получаем возраст
    global age
    age = message.text
    if age.isnumeric():
        bot.send_message(message.from_user.id, 'Введите Ваш дискорд.')
        bot.register_next_step_handler(message, get_discord)
    else:
        bot.send_message(message.from_user.id, 'Цифрами, пожалуйста!')
        bot.register_next_step_handler(message, get_age)


def get_discord(message):  # Получаем дискорд
    global discord
    discord = message.text
    keyboard = types.InlineKeyboardMarkup()
    key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes')
    keyboard.add(key_yes)
    key_no = types.InlineKeyboardButton(text='Нет', callback_data='no')
    keyboard.add(key_no)
    question = "Подведем итоги. Вас зовут " + name + " " + surname + ", Вам " + str(
        age) + " лет. Ваш дискорд: " + discord + ". Если всё верно, то подтвердите это нажав 'ДА' снизу."
    bot.send_message(message.from_user.id, text=question, reply_markup=keyboard)    ```

Ответы (1 шт):

Автор решения: MyZik

Очень просто. Перед обработкой поставьте условие на проверку текста в сообщении.

def get_name(message):  # Получаем имя
    global name
    if message.text is None:
        bot.send_message(message.from_user.id, 'Сообщение должно быть текстом!')
        return None

    ...

→ Ссылка