Es gibt also einen Websocket-Server (Spiel) und erfordert socket.io-Nachrichten wie diese: 42["game:chat-public:msg","{\"id\":\"2qxgs2\",\"pId\":\"nfityk\",\"msg\":\"example\",\"date\":1764384827484}"]. Wie Sie sehen, handelt es sich um ein Array, aber der zweite Teil des Arrays ist JSON mit Backslash-Escapezeichen. Im Spiel ist kein direkter JSON erlaubt.
Also habe ich das gemacht, um damit klarzukommen:
Code: Select all
const messagePayloadObj = {
msg: msg,
pId: createRandomId()
};
// JSON string
const messagePayloadString = JSON.stringify(messagePayloadObj);
// ESCAPED (Socket.IO expected format)
const escaped = `"${messagePayloadString.replace(/"/g, '\\"')}"`;
if(w.readyState === WebSocket.OPEN){
w.send(`42["game:chat-public:msg",${escaped}]`)
}
Es ist alles in Ordnung, aber einige Nachrichten, die ich senden möchte, sind KI-generierte Antworten und Sie wissen, KI-Antworten enthalten Backslashes, neue Zeilenzeichen usw. (\n). Es funktioniert also nicht in von der KI generierten Nachrichten, da sie wie eine Zeichenfolge gesendet werden.
Wie kann ich alle Backslashes mit KI umgehen?