Загрузка файла с сервера. 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)