Как отправить файл на яндекс диск с помощью бота в телеграм

Хотелось бы узнать как написать саму функцию, может быть есть видео или подробная документация


Ответы (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

→ Ссылка