Как сделать бота в телеграм, который будет скидывать юзеру файлы с облака?

Тэкс. Типо у меня есть хостинг для бота. Там типо уже заканчивается память, и чтобы не покупать новый тариф нужно просто сделать так, чтобы бот скидывал файлы с другого сервера :)

Так вот. Как можно сделать так чтобы телеграм бот скидывал файлы с другого сервера, дабы сэкономить место.

Использую API: telebot

Язык программирования: Python


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

Автор решения: D. Violet

если я правильно понял вопрос: "отправлять с помощью Телеграм бота файлы с сервера, чтобы освободить место", то примеры собранные на коленке:

# получить свободное место на диске '/' в процентах
import shutil

total, used, free = shutil.disk_usage("/")

print("Total: %d GiB" % (total // (2**30)))
print("Used: %d GiB" % (used // (2**30)))
print("Free: %d GiB" % (free // (2**30)))


# архивировать каталог
import os
import zipfile

def zipdir(path, ziph):
    # ziph is zipfile handle
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

if __name__ == '__main__':
    zipf = zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED)
    zipdir('tmp/', zipf)
    zipf.close()


# отправка файла с помощью pytelegrambotapi
import telebot

@bot.message_handler(commands=['getzip'])
def getchatid(message):
    zip_file = open("%path_to_zip%", "rb")
    bot.send_document(message.chat.id, zip_file)

останется собрать всё воедино, повесить условие на нужный % свободного места и в cron

→ Ссылка