Программа не ждет ответа пользователя

Делаю бота который отправляет пользователю текст на присланном боту фото. Столкнулся с тем что нужно сделать выбор языка и решил решить проблему с помощью next step handler, но программа не ждет, чтобы пользователь отправил сообщение (например rus) и сразу пытается преоброзовать текст на фото в обычный текст из-за этого возникает ошибка и программа прекращает работу

import telebot
import pytesseract

Bot_token = МОЙ ТОКЕН
bot = telebot.TeleBot(Bot_token, parse_mode= None, skip_pending=True)
tconfig = r'--oem 3 --psm 6'


def imgtotext(message, language):
    image = "img.png"
    result = pytesseract.image_to_string(image, config=tconfig, lang= language)
    bot.send_message(message.chat.id, "".join(result))
    print(message.chat.username + " | " + str(
        message.chat.id) + " использовал комманду /image\n Результат: " + "".join(result))





@bot.message_handler(content_types="photo")
def asklang(message):
    fi = file_info = bot.get_file(message.photo[len(message.photo) - 1].file_id)
    send = bot.send_message(message.chat.id, 'language')
    bot.register_next_step_handler(send, img(message, file_info=fi))

def img(message, file_info):
    downloaded_file = bot.download_file(file_info.file_path)
    bot.send_message(message.chat.id, "изображение обрабатывается")
    msglang = str(message.text)
    with open("img.png", 'wb') as new_file:
        new_file.write(downloaded_file)
        imgtotext(message=message, language=msglang)
        
bot.polling(none_stop=True)

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

Автор решения: Ян Морозов
def imgtotext(message, language):
    image = "img.png"
    result = pytesseract.image_to_string(image, config=tconfig, lang=language)
    bot.send_message(message.chat.id, "".join(result))
    print(message.chat.username + " | " + str(
        message.chat.id) + " использовал комманду /image\n Результат: " + "".join(result))


@bot.message_handler(content_types="photo")
def asklang(message):
    global file_info                                                        #добавляем глобальную переменную 
    file_info = bot.get_file(message.photo[len(message.photo) - 1].file_id) 
    send = bot.send_message(message.chat.id, 'language')
    bot.register_next_step_handler(send, img) # Вызываем функцию без аргументов


def img(message):
    downloaded_file = bot.download_file(file_info.file_path)
    bot.send_message(message.chat.id, "изображение обрабатывается")
    msglang = str(message.text)
    print(msglang)
    with open("img.png", 'wb') as new_file:
        new_file.write(downloaded_file)
    imgtotext(message=message, language=msglang)

В bot.register_next_step_handler второй аргумент в виде функции не должен вызываться

→ Ссылка