# modules/avatar_streamer.py import time from typing import Dict, Any class AvatarStreamer: # Klassen-Attribute verhindern den Zustandverlust bei Neu-Instanziierung _avatar_name = "Sky Meilin" _status = "idle" def __init__(self): print("AvatarStreamer geladen") @property def avatar_name(self) -> str: return AvatarStreamer._avatar_name @avatar_name.setter def avatar_name(self, name: str): AvatarStreamer._avatar_name = name @property def status(self) -> str: return AvatarStreamer._status @status.setter def status(self, value: str): AvatarStreamer._status = value def set_avatar(self, name: str): self.avatar_name = name def start_stream(self) -> Dict[str, Any]: self.status = "streaming" return { "status": self.status, "avatar": self.avatar_name } def stop_stream(self) -> Dict[str, Any]: self.status = "offline" return { "status": self.status, "avatar": self.avatar_name } def send_message(self, text: str) -> Dict[str, Any]: if self.status != "streaming": return { "error": "Avatar nicht aktiv" } payload = { "avatar": self.avatar_name, "message": text, "timestamp": time.time() } return payload def emotion(self, emotion_name: str) -> Dict[str, Any]: return { "avatar": self.avatar_name, "emotion": emotion_name }