【发布时间】:2021-01-05 05:43:06
【问题描述】:
我正在学习 Javascript,并决定编写一个 Discord 机器人,但我无法让它踢或禁止。我尝试了几种不同的代码,但除了这个之外,它们都给了我错误。唯一的问题是当我不和谐地执行命令时它什么也不做。同样,如果这是一个菜鸟错误,我很抱歉,但我正在学习
这是我的代码
const Discord = require('discord.js');
const { prefix, token } = require(`./config.json`);
const client = new Discord.Client();
client.once('ready', () => {
console.log('Im online now');
});
client.on('message', message => {
if (message.content.startsWith(`${prefix}ping`)) {
message.channel.send('Pong.');
} else if (message.content.startsWith(`${prefix}beep`)) {
message.channel.send('Boop.');
}
else if (message.content === `${prefix}server`) {
message.channel.send(`Server: ${message.guild.name}\ there is: ${message.guild.memberCount} in the server`);
}
else if (message.content === 'no u') {
message.channel.send('no u')
}
}
)
client.on('message', async (message) => {
if(message.content.startsWith(`+kick)`)) {
if(message.member.hasPermission('KICK_MEMBERS')){
if(!message.mentions.users.size){
return message.reply("Who am I supposed!");
}
var user= message.mentions.members.first();
message.channel.send('<@{user.id}> has just been kicked');
user.kick();
}
else {
message.reply(message.channel.send('You cant do that'));
}
}
})
client.on('message', async (message) => {
if(message.content.startsWith(`+ban)`)) {
if(message.member.hasPermission('BAN_MEMBERS')){
if(!message.mentions.users.size){
return message.reply("Who am I supposed to ban?!");
}
var user= message.mentions.members.first();
message.channel.send('<@{user.id}> Has just been banned');
user.ban();
}
else {
message.reply(message.channel.send('you cant do that'));
}
}
})
client.login(token);
【问题讨论】:
-
每个机器人不应有多个
Client#message事件。 -
这有点猜测,但您的代码会检查命令
+ban)和+kick)。你确定额外的')'是故意的吗?因为这样你就必须使用+kick) @Toten#1234的命令。我猜你希望命令是+kick @Toten#1234,但这只是猜测
标签: javascript discord discord.js