Как проверить отправленное пользователем сообщение в телеграмме python telebot

Хочу сделать чтобы человек вводил рандомную капчу и программа проверяла её подлинность, но не могу преобразовать str в int.

import telebot

import random

from telebot import types

...

@bot.message_handler(content_types=["text"]) def working(message):

    if message.text == "Начать":
        
        capcha = int(random.randint(10000,99999))
        
        bot.send_message(message.chat.id, capcha)
        if message.text == capcha:
            bot.send_message(message.chat.id, "Ответ верный")
        else:
            bot.send_message(message.chat.id, "Ответ неверный")

    elif message.text == "Список лидеров":
        bot.send_message(message.chat.id, "В разработке...")
    else:
        bot.send_message(message.chat.id, 'Чтобы пользоваться ботом нажмите "Начать"')

bot.polling(none_stop=True)


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

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

Не уверен в грамотности своего предложения, но что, если пойти от обратного и преобразовывать капчу в формат str, и затем сравнивать уже str-значения? Для этого после строки с генерацией капчи можно просто добавить что-то вроде "capcha = str(capcha)". Если это решение не подойдет, расскажите, пожалуйста, почему - буду учиться :)

→ Ссылка
Автор решения: proger

Вроде работает без доп функции это не решить наверно у тебя в message.text не капча

@bot.message_handler(content_types=["text"])
def working(message):
    if message.text == "Начать": 
        global capcha;      
        capcha = int(random.randint(10000,99999))
        d = bot.send_message(message.chat.id, capcha)  
        bot.register_next_step_handler(d ,cap)

def cap(message):
    global d;
    d = message.text
    f = str(capcha)
    if d == f:
        bot.send_message(message.chat.id, "Ответ верный")
    else:
        bot.send_message(message.chat.id, "Ответ неверный")
→ Ссылка