Bonjour, je dev actuellement sur un bot discord en JS, mes connaissances sont très limitée j'apprend tout sur le tas or arrive un moment ou je bloque donc je vien ici pour vous demander de l'aide :
Globalement je définie les différentes activité avec la bot (the world, with a cat) qui permetra d'afficher sur le bot
Après (j'ai trouver) un timer pour que toutes les 15sc il change entre "the world" et "with a cat"
Or il faut changer le type (let action) selon le "word" (world ou cat) pour définir si le bot regarde ou joue ( type 'watching'/'playing')
donc j'ai dit que si c'est "the world" il est censé changer le type suivi du word
j'ai utilisé du coup la commande JSON.parse() pour que si il y a un mot x il remplace derrière avec un type x
client.on("ready", () => {
var word = ["the world", "with a cat"];
let i = 0;
client.user.setActivity(word[0]);
i++;
setInterval(() => {
if (i >= word.length + 1) {
i = 0;
}
if (word[i] === "the world") {
let action = "{ type: 'WATCHING' }";
client.user.setActivity(word[i], JSON.parse(action));
} else if (word[i] === "with a cat") {
let action = "{ type: 'PLAYING' }";
client.user.setActivity(word[i], JSON.parse(action));
} else {
// something else
}
i++;
}, 1000 * 15); // 30 = 30s || 1000 * 1 = 1s
client.user.setStatus("dnd");
});
Globalement j'aimerais que quand il y a un certain mot dans la variable "word" alors il y a un certain mot dans le "let action" {type ...}
Le problème c'est que le bot affiche bien "the world" et "with a cat" avec une bonne intervalle de 15sc mais aucun changement dans le type ca ne change pas et ca reste dans le type de base 'PLAYING' et dans la console j'ai ca :
{ type: 'PLAYING' }
^
SyntaxError: Unexpected token t in JSON at position 2
at JSON.parse (<anonymous>)
at Timeout._onTimeout (/app/server.js:36:45)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)
Merci d'avance pour vos réponses