Загрузка файла с сервера. Telebot

Python. Telebot.

В боте сохраняю введённые пользователем данные в таблицу БД sqlite3. Далее конвертирую в .xlsx и сохраняю, например, в папку /data. Не понимаю, как могу скачать этот файл через интерфейс бота. То есть, необходимо организовать скачивание через inline-кнопку. Подскажите, пожалуйста.


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

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

Вот минимальный пример, показывающий как отправить файл пользователю:

@bot.message_handler(commands=['start'])
def start_message(message):
    kb = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton('Скачать файл', callback_data='download')
    kb.add(btn1)
    bot.send_message(message.chat.id, "Нажми кнопку, чтобы скачать файл", reply_markup=kb)


@bot.callback_query_handler(func=lambda callback: callback.data == "download")
def func_download(callback):
    file = open("твой_файл.xlsx", "rb")
    bot.send_document(callback.message.chat.id, file)
→ Ссылка