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

Есть скрипт, необходимо чтобы он, отправлял фото с одинаковым текстом для всех фотографий, и чтобы я мог добавить новое фото в папку во время работы бота, так как пока он работает, я не могу добавить новые фотографии(бот их не отправит), подскажите что нужно поменять в коде?
# Переменные для итерации фото
mypath = "images"
photos = set()
# formats = ['.jpg', '.jpeg', '.png']
# savedSet = set()

# Переменные для ссылки на канал
one = 'Name channel'
two = 'link on channel'
three = '@linkonchannel'
url = two

# Переменные для итерации времени
time = ('10:17', '04:20', '04:22')


async def send_post():
    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:
            async def process_images(path: str, old_images: set):
                images = os.listdir(path)
                images = set(images)
                # Список фото
                print(images)
                images = images - old_images
                print(old_images)
                for i in images:
                    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:
                        await bot.send_photo(chat_id=channels, photo=photos, caption=f'{hlink(one, url=two)}\n'
                                                                                     f'{hlink(two, url=two)}\n'
                                                                                     f'{hlink(three, url=two)}')
                    else:
                        print('Ожидаю 12:00')
                        # await asyncio.sleep(64800)
                    print(i)
                    # await asyncio.sleep(10800)

            async def a(param1, param2=None):
                if param2 is None:
                    param2 = {}

            await a(process_images(path=mypath, old_images=photos))

        else:
            print('Ожидаю 12:00')
            # await asyncio.sleep(64800)
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы