SkyOSFullCore / modules /avatar_streamer.py
sky-meilin's picture
Update modules/avatar_streamer.py
d7a7272 verified
Raw
History Blame Contribute Delete
1.6 kB
# 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
}