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)
});
});
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 :)
Bonjour,
J'ai copier le code dans VSCode et avec l'extension Prettier j'ai trouvé les erreurs de syntaxes:
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é !