При отправке файла, бот отправляет его через раз без ошибок telebot

Сделал даже задержку 1 секунду, бот почему-то отправляет файл через раз, не выдает ошибки.

def download(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn_stop = types.KeyboardButton('?Отмена?')
    markup.add(btn_stop)
    bot.send_message(message.chat.id, 'Для начала нужно узнать код с помощью фразы "Посмотреть список документаций".\nЕсли вы это не сделали, нажмите на кнопку "?Отмена?"', reply_markup=markup)
    bot.send_message(message.chat.id, 'Введите код проекта:')
    BotDB.btn('update_1', message.from_user.id)
    bot.register_next_step_handler(message, download_global)
    return

def download_global(message):
    global codes

    user_input = message.text

    try:
        if str(user_input) == 'Отмена' or user_input == '?Отмена?':
            BotDB.btn('update_0', message.from_user.id)
            buttons(message)
            return
        elif int(user_input) in codes:
            if int(user_input) == codes[0]:
                bot.send_message(message.chat.id, 'С вашего счёта списано 0 рублей')
                bot.send_message(message.from_user.id, 'Проект по выбранному проекту:')
                with open('tutorial/goroda.docx', 'rb') as file:
                    time.sleep(1)
                    bot.send_document(message.from_user.id, file)
            buttons(message)
            return
        else:
            bot.send_message(message.chat.id, 'Проекта с таким id не существует!')
            bot.register_next_step_handler(message, download_global)
            return
    except ValueError:
        bot.send_message(message.chat.id, 'Возникла ошибка. Возможно вы написали букву вместо цифры!\nМожете прямо сейчас повторить попытку')
        bot.register_next_step_handler(message, download_global)
        return

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

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

ну задержка по идеи врядли поможет так как все это в одном потоке из-за чего как мне кажется ты только замедляешь программу, для sleep подошла бы async функция если не ошибаюсь, а так честно говоря тяжело понять в чем ошибка, и еще бот отправляет прям через раз или иногда нормально иногда нет? В общем больше конкретики хотелось бы

→ Ссылка