Как мне сделать подключения к OneDrive, взять файлы из папки OneDrive, и отправить их ботом?

У меня есть код для отправки постов в канал. Этот код работает следующим образом, берет файлы из папки, и отправляет их, потом переносит файлы из папки с изображениями в папку с отправленными сообщениями. Как мне сделать тоже самое с OneDrive, чтобы я мог брать изображения из папки, и отправлять их в канал? Пытался гуглить, ничего не понятно, ведь Microsoft то еще дерьмо. Или может забить на OneDrive, и дальше отправлять файлы с папки?

import datetime
from os import listdir

import asyncio
from aiogram.utils.markdown import hlink

from config import channels
from loader import bot, dp
import os
from os import path
import shutil

# Переменные для итерации фото
mypath = "C:/Users/OneDrive/TestSend"  # Путь к папке с фото
photos = list()  # Список фото который проитерируется потом
formats = ['.jpg', '.jpeg', '.png']  # Форматы фото
savedSet = set()  # Переменная на всякий случай
sent_directory = "C:/Users/OneDrive/TestSentPhoto"  # Укажите здесь директорию куда /
# будут переходить отправленные фото

one = '9x16 - Name'  # Названия которое вы хотите чтобы было в первом ряду
two = 't.me/link'  # Ссылка на канал, второй ряд
three = '@link'  # Ссылка на канал, третий ряд
url = two  # Необходимая перемменая для создания ссылки

# Переменные для итерации времени
time = ('16:12', '14:33', '14:34')
interval = 60  # тут должно быть указано число которое отвечает за интервал между отправками постов


async def send_post():
    polling_task = asyncio.create_task(dp.start_polling())
    while True:
        # Получаем нынешнее время
        now_global = datetime.datetime.now()
        now_global = str(now_global.time())
        now_global = now_global.split('.')[0]
        now_global = now_global[:-3]
        # Сравнения нынешнего времени и нужного времени
        if now_global in time:
            for i in formats:
                # Итерация по форматам фото
                # Добавления новых фото
                for j in filter(lambda x: x.endswith(i), listdir(mypath)):
                    # Вставляем фото в список
                    photos.append(j)
            for i in photos:
                now_local = datetime.datetime.now()
                now_local = str(now_local.time())
                now_local = now_local.split('.')[0]
                now_local = now_local[:-3]
                if now_local in time:
                    with open(f"{mypath}/{i}", 'rb') as photo:
                        print(f'Сейчас {now_local} времени')
                        await bot.send_photo(chat_id=channels, photo=photo, caption=f'{hlink(one, url=two)}\n'
                                                                                    f'{hlink(two, url=two)}\n'
                                                                                    f'{hlink(three, url=two)}')

                    with open(f"{mypath}/{i}", 'rb') as photo:
                        # print(f'Сейчас {now_local} времени')
                        await bot.send_document(chat_id=channels, document=photo, caption=f'{hlink(one, url=two)}\n'
                                                                                    f'{hlink(two, url=two)}\n'
                                                                                    f'{hlink(three, url=two)}')
                        print('Отправил фото')
                        photo = f"{mypath}/{i}"
                        # Укажите здесь директорию куда
                        # будут переходить отправленные фото
                        new_location = shutil.move(photo, sent_directory)
                        # print('Засыпаю')
                        # Строчка снизу отвечает за интервал между отправками фото
                        await asyncio.sleep(interval)
        else:
            # Нижнюю строку можно по желанию раскомментировать, тогда в консоль будет выводится 'Ожидаю 12:00',
            # и есть много памяти
            # print('Ожидаю 12:00')
            pass

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