Помогите с библиотекой 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 минут ?