Erreur liée à la syntaxe discord js

Par Mao.733, il y a 7 ans


Ce que je fais

Bnjour ! Je développe actuellement un bot discord et depuis peu je rencontre un problème que je n'arrive pas à résoudre. Je serais très content si vous pouviez m'aider :)

const Discord = require("discord.js"); const client = new Discord.Client(); const config = require("./config.json"); const prefix = config.prefix; client.login(config.token); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); client.user.setActivity('créer le futur').catch(console.error); }); // Commandes client.on('message', msg => { let command = msg.content.split(" ")[0]; const args = msg.content.slice(config.prefix.length).split(/ +/); command = args.shift().toLowerCase(); // ping / pong if (command === 'ping') { return msg.reply('Pong!'); } else // Help if (command === 'help') { const embed = new Discord.RichEmbed() .setTitle("This is your title, it can hold 256 characters") .setAuthor("Author Name", "https://i.imgur.com/lm8s41J.png") .setColor(0x00AE86) .setDescription("This is the main body of text, it can hold 2048 characters.") .setFooter("This is the footer text, it can hold 2048 characters", http://i.imgur.com/w1vhFSR.png") .setImage("http://i.imgur.com/yVpymuV.png") .setThumbnail("http://i.imgur.com/p2qNFag.png") .setTimestamp() .setURL("https://discord.js.org/#/docs/main/indev/class/RichEmbed") .addField("This is a field title, it can hold 256 characters", "This is a field value, it can hold 2048 characters.") .addField("Inline Field", "They can also be inline.", true) .addBlankField(true) .addField("Inline Field 3", "You can have a maximum of 25 fields.", true); msg.channel.send({embed}); } else // clear if (command === 'clear') { const modRole = msg.guild.roles.find("name", "Admin-Z"); if (!msg.member.roles.has(modRole.id)) return msg.reply("Vous n'avez pas la permission d'utiliser cette commande.").catch (console.error) msg.delete(); const deleteCount = parseInt(args [0], 10); if (!deleteCount || deleteCount < 2 || deleteCount > 100) return msg.reply("Merci d'indiquer un nombre de message à supprimer entre 2 et 100"); async function clear() { const fetched = await msg.channel.fetchMessages({limit: deleteCount}); msg.channel.bulkDelete (fetched).catch(console.error); } clear(); } }); // Commandes privées client.on ('message', msg => { // Hi if (msg.author.id !== config.ownerID) return; if (msg.content === 'hi') { return msg.channel.send('Bonjour maître'); } }); client.on ('message', msg => { let command = msg.content.split(" ")[0]; const args = msg.content.slice(config.prefix.length).split(/ +/); command = args.shift().toLowerCase(); // Say if (command === 'say') { const sayMessage = args.join (" "); msg.delete().catch(console.error); msg.channel.send(sayMessage); } }); // Gestion des nouveaux membres client.on('guildMemberAdd', member => { member.createDM().then(channel => { return channel.send('Bienvenue dans le futur ' + member.displayName) }).catch(console.error) }) client.on('guildMemberAdd', member => { let role = member.guild.roles.find("name", "Membres du Z") member.addRole(role).catch (console.error) }); });

Ce que j'obtiens

Voilà mon code ci dessus comme vous l'avez sans doute remarqué à la fin je suis obligé de mettre deux fois "});" pour clore le bot sinon il me sort une erreur comme : invalid or unexpected token.
Voilà je vous remercie d'avoir lu mon message et si vous pouvez m'aider j'attends avec impatience votre réponse ! Merci :)

1 réponse

Jaymun723, il y a 7 ans

Bonjour,

J'ai copier le code dans VSCode et avec l'extension Prettier j'ai trouvé les erreurs de syntaxes:

  • Ligne 29: Il manquait un guillement devant l'url
  • Ligne 91: Le "})" était en trop
  • Dernière ligne: Le "})" était en trop

Code final:

const Discord = require('discord.js') const client = new Discord.Client() const config = require('./config.json') const prefix = config.prefix client.login(config.token) client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`) client.user.setActivity('créer le futur').catch(console.error) }) // Commandes client.on('message', (msg) => { let command = msg.content.split(' ')[0] const args = msg.content.slice(config.prefix.length).split(/ +/) command = args.shift().toLowerCase() // ping / pong if (command === 'ping') { return msg.reply('Pong!') } // Help else if (command === 'help') { const embed = new Discord.RichEmbed() .setTitle('This is your title, it can hold 256 characters') .setAuthor('Author Name', 'https://i.imgur.com/lm8s41J.png') .setColor(0x00ae86) .setDescription('This is the main body of text, it can hold 2048 characters.') .setFooter('This is the footer text, it can hold 2048 characters', 'http://i.imgur.com/w1vhFSR.png') .setImage('http://i.imgur.com/yVpymuV.png') .setThumbnail('http://i.imgur.com/p2qNFag.png') .setTimestamp() .setURL('https://discord.js.org/#/docs/main/indev/class/RichEmbed') .addField( 'This is a field title, it can hold 256 characters', 'This is a field value, it can hold 2048 characters.' ) .addField('Inline Field', 'They can also be inline.', true) .addBlankField(true) .addField('Inline Field 3', 'You can have a maximum of 25 fields.', true) msg.channel.send({ embed }) } // clear else if (command === 'clear') { const modRole = msg.guild.roles.find('name', 'Admin-Z') if (!msg.member.roles.has(modRole.id)) return msg.reply("Vous n'avez pas la permission d'utiliser cette commande.").catch(console.error) msg.delete() const deleteCount = parseInt(args[0], 10) if (!deleteCount || deleteCount < 2 || deleteCount > 100) return msg.reply("Merci d'indiquer un nombre de message à supprimer entre 2 et 100") async function clear() { const fetched = await msg.channel.fetchMessages({ limit: deleteCount }) msg.channel.bulkDelete(fetched).catch(console.error) } clear() } }) // Commandes privées client.on('message', (msg) => { // Hi if (msg.author.id !== config.ownerID) return if (msg.content === 'hi') { return msg.channel.send('Bonjour maître') } }) client.on('message', (msg) => { let command = msg.content.split(' ')[0] const args = msg.content.slice(config.prefix.length).split(/ +/) command = args.shift().toLowerCase() // Say if (command === 'say') { const sayMessage = args.join(' ') msg.delete().catch(console.error) msg.channel.send(sayMessage) } }) // Gestion des nouveaux membres client.on('guildMemberAdd', member => { member .createDM() .then((channel) => { return channel.send('Bienvenue dans le futur ' + member.displayName) }) .catch(console.error) client.on('guildMemberAdd', (member) => { let role = member.guild.roles.find('name', 'Membres du Z') member.addRole(role).catch(console.error) })

J'épsère avoir aidé !