Files
llm/backend_old/ai/events.py
2024-05-27 18:59:58 +02:00

31 lines
983 B
Python

from django.dispatch import receiver, Signal
from injector import Injector
from .websocket import DashboardConnectionManager
chat_text_signal = Signal()
discord_online_signal = Signal()
discord_react_to_chat_signal = Signal()
@receiver(chat_text_signal)
def handle_chat_text(sender, **kwargs):
get_manager().broadcast({'type': 'chat_text', 'message': kwargs['message'], 'ai_instance': kwargs['ai_name']})
@receiver(discord_online_signal)
def handle_discord_online(sender, **kwargs):
get_manager().broadcast({'type': 'discord_online', 'status': kwargs['status'], 'ai_instance': kwargs['ai_name']})
@receiver(discord_react_to_chat_signal)
def handle_discord_react_to_chat(sender, **kwargs):
get_manager().broadcast(
{'type': 'discord_react_to_chat', 'status': kwargs['status'], 'ai_instance': kwargs['ai_name']})
def get_manager():
from .injector import InjectorModule
inj = Injector(InjectorModule)
return inj.get(DashboardConnectionManager)