Как отправить файл на яндекс диск с помощью бота в телеграм
Хотелось бы узнать как написать саму функцию, может быть есть видео или подробная документация
Ответы (1 шт):
Автор решения: Menlis Smith
→ Ссылка
Для этого вам нужно будет работать с yandex disk api, а также зарегистрировать ваше приложение в яндексе и получить токен https://yandex.ru/dev/disk/rest/ После этого установите библиотеку yadisk
pip install yadisk
Пример кода (код взят с официальной документации):
import yadisk
y = yadisk.YaDisk(token="<токен>")
# или
# y = yadisk.YaDisk("<id-приложения>", "<secret-приложения>", "<токен>")
# Проверяет, валиден ли токен
print(y.check_token())
# Получает общую информацию о диске
print(y.get_disk_info())
# Выводит содержимое "/some/path"
print(list(y.listdir("/some/path")))
# Загружает "file_to_upload.txt" в "/destination.txt"
y.upload("file_to_upload.txt", "/destination.txt")
# То же самое
with open("file_to_upload.txt", "rb") as f:
y.upload(f, "/destination.txt")
# Скачивает "/some-file-to-download.txt" в "downloaded.txt"
y.download("/some-file-to-download.txt", "downloaded.txt")
# Безвозвратно удаляет "/file-to-remove"
y.remove("/file-to-remove", permanently=True)
# Создаёт новую папку "/test-dir"
print(y.mkdir("/test-dir"))
Подробная документация по библиотеке https://yadisk.readthedocs.io/ru/latest/index.html и самому api https://yandex.ru/dev/disk/api/concepts/about.html