added auto scroll, fixed stt for voice messages, fixed get answers in chat, hope fixed attachments
This commit is contained in:
+34
-4
@@ -954,10 +954,40 @@ class ARIABridge:
|
||||
await self.ws_core.send(raw_message)
|
||||
|
||||
elif msg_type == "file":
|
||||
# Datei von der App → an aria-core
|
||||
logger.info("[rvs] Datei empfangen: %s", payload.get("name", "?"))
|
||||
if self.ws_core:
|
||||
await self.ws_core.send(raw_message)
|
||||
# Datei von der App → als Text-Nachricht an aria-core
|
||||
file_name = payload.get("name", "unbekannt")
|
||||
file_type = payload.get("type", "")
|
||||
file_b64 = payload.get("base64", "")
|
||||
file_size = payload.get("size", 0)
|
||||
width = payload.get("width", 0)
|
||||
height = payload.get("height", 0)
|
||||
logger.info("[rvs] Datei empfangen: %s (%s, %dKB)",
|
||||
file_name, file_type, len(file_b64) // 1365 if file_b64 else 0)
|
||||
|
||||
if file_b64 and file_type.startswith("image/"):
|
||||
# Bild: als temporaere Datei speichern und Pfad an ARIA melden
|
||||
ext = ".jpg" if "jpeg" in file_type or "jpg" in file_type else ".png"
|
||||
tmp = tempfile.NamedTemporaryFile(suffix=ext, dir="/tmp", delete=False, prefix="aria_img_")
|
||||
tmp.write(base64.b64decode(file_b64))
|
||||
tmp.close()
|
||||
text = (f"[Bild von Stefan via App: {file_name}"
|
||||
f"{f', {width}x{height}px' if width else ''}"
|
||||
f" — gespeichert als {tmp.name}]"
|
||||
f" Bitte analysiere das Bild.")
|
||||
await self.send_to_core(text, source="app-file")
|
||||
elif file_b64:
|
||||
# Andere Datei: speichern und Pfad melden
|
||||
ext = Path(file_name).suffix or ".bin"
|
||||
tmp = tempfile.NamedTemporaryFile(suffix=ext, dir="/tmp", delete=False, prefix="aria_file_")
|
||||
tmp.write(base64.b64decode(file_b64))
|
||||
tmp.close()
|
||||
text = (f"[Datei von Stefan via App: {file_name}"
|
||||
f" ({file_type}, {file_size} bytes)"
|
||||
f" — gespeichert als {tmp.name}]")
|
||||
await self.send_to_core(text, source="app-file")
|
||||
else:
|
||||
text = f"[Stefan hat eine Datei gesendet: {file_name} ({file_type}) — aber keine Daten empfangen]"
|
||||
await self.send_to_core(text, source="app-file")
|
||||
|
||||
elif msg_type == "audio":
|
||||
# Audio von der App → decodieren → STT → an aria-core
|
||||
|
||||
Reference in New Issue
Block a user