Помогите с библиотекой schedule и aiogram3 как функцию вызывать по расписанию?

У меня есть файлы:

run.py

import asyncio
import logging
from aiogram import Bot, Dispatcher
from aiogram.types import Message
from aiogram.filters import Command
from config import TOKEN
from app.handlres import router
from app.handlres import message_send_into_vk

bot = Bot(token=TOKEN)
dp = Dispatcher()



async def main():
    dp.include_router(router)
    await dp.start_polling(bot)


if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)
    try:
        asyncio.run(main())
    except KeyboardInterrupt:
        print('Exit')

handlers.py

@router.message(Auth.SendMsg)
async def message_send_into_vk(message: Message, state: FSMContext):
    text_for_send_into_vk = message.text
    await message.delete()
    await state.update_data(SendMsg=text_for_send_into_vk)
    user_id = message.from_user.id
    token = await get_token_from_database(user_id)
    if token:
        vk_auth = vk_api.VkApi(token=token)
        vk = vk_auth.get_api()

        # Отправляем сообщение о начале отправки с анимацией точек
        sending_message = await message.answer('<b>Процесс запущен.</b>', parse_mode='html')
        for i in range(3):
            await sending_message.edit_text(f'<b>Процесс запущен</b>{"." * (i + 1)}\u2063', parse_mode='html')
            await asyncio.sleep(1)

        chats = vk.messages.getConversations(filter='chats')['items']
        for chat in chats:
            chat_id = chat['conversation']['peer']['id']
            try:
                await asyncio.sleep(2)
                vk.messages.send(peer_id=chat_id, message=text_for_send_into_vk, random_id=0)
            except:
                pass
        await sending_message.edit_text(f'Сообщение: <i><u>{text_for_send_into_vk}</u></i>\nУспшено отправлено во все беседы! ?', parse_mode='html')
        await asyncio.sleep(5)
        await sending_message.delete()
        await state.clear()

Как можно сделать так что бы функция message_send_into_vk в файле handlers.py вызывалась каждые 30 минут ?


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