Toujours lorsque le message contient un accent dans une lettre, il renvoie une erreur en json au lieu de fonctionner.
Exemple de texte : ýay
Résultat : [RCON] Composant de chat non valide : Fin de l'entrée à la ligne 1 colonne 36 chemin $[1]...ellraw @a [{"text" :" C=ay"}<--[ICI]
Mise à jour de
A l'aide de votre réponse, j'ai résolu le problème. Merci~ <3
Source : https://stackoverflow.com/questions/21647928/javascript-unicode-string-to-hex
module.exports = {
encode: function(tinythis, finalv = false) {
var hex, i;
var result = "";
for (i = 0; i < tinythis.length; i++) {
hex = tinythis.charCodeAt(i).toString(16);
if (!finalv) {
result += ("000" + hex).slice(-4);
} else {
result += '\\u' + ("000" + hex).slice(-4);
}
}
return result;
},
decode: function(tinythis) {
var j;
var hexes = tinythis.match(/.{1,4}/g) || [];
var back = "";
for (j = 0; j < hexes.length; j++) {
back += String.fromCharCode(parseInt(hexes[j], 16));
}
return back;
}
};
const hexC = require('./file.js');
for (var items in cmd) {
cmd[items].text = hexC.encode(cmd[items].text, true);
}
console.log(JSON.stringify(cmd).replace(/\\\\u/g, '\\u'));
this.cmd = 'tellraw ' + player + ' ' + JSON.stringify(cmd).replace(/\\\\u/g, '\\u');
0 votes
Ça marche pour moi :
/tellraw @s {"text":"ýay"}
->ýay
. Quelle est votre commande complète ? Peut-être que quelque chose d'autre a causé ça.