Python интеграция aiogram + Socket.IO Server

Возник вопрос, как правильно вызвать функции sio.emit(), sio.send(), sio.call() в функции aiogram.

Возможно ли как-то осуществить подобный код:

@dp.message_handler()
async def process_start_command(message: types.Message):
    await sio.send(message.text)
    await message.reply('Готово')

Связь клиента и сервера удалось успешно создать.

server.py

from aiohttp import web
import socketio

sio = socketio.AsyncServer(logger=True, engineio_logger=True)
app = web.Application()
sio.attach(app)

@sio.on('message')
async def print_message(sid, message):
    print('\n' + "ID: " , sid)
    print(message)

@sio.event()
async def connect(sid, environ):
    print(f'Соединение с {sid} установленно')


if __name__ == '__main__':
    web.run_app(app)

client.py

import asyncio
import socketio

sio = socketio.AsyncClient(logger=True, engineio_logger=True)

@sio.event
async def message(data):
    print('Получил сообщение ', data)

async def main():
    await sio.connect('http://localhost:8080')
    await sio.wait()

if __name__ == '__main__':
    asyncio.run(main())

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

Автор решения: Rur1k

Можно использовать вот такой вариант:

sio = socketio.AsyncClient()

@dp.message_handler()
async def process_start_command(message: types.Message):
    await sio.connect(SOCKET_URL)
    await sio.emit('test', {'test': 'test'})
    await message.reply('Готово')
→ Ссылка