【发布时间】:2020-06-08 02:11:22
【问题描述】:
当工作人员执行 !mute @user time 时,它应该赋予角色 Mute 并取消角色 Speaker,但这不会发生,而是会发生其他所有事情,并且不会给予或取消角色。
const Discord = require('discord.js');
const bot = new Discord.Client();
const ms = require('ms');
const token = '';
const PREFIX = '!';
bot.on('ready', () => {
console.log('This bot is active!');
})
bot.on('message', message => {
let args = message.content.substring(PREFIX.length).split(" ");
switch (args[0]) {
case 'mute':
if(!message.member.hasPermission("MUTE_MEMBERS")) return message.reply("You cannot run this command");
let mperson = message.guild.member(message.mentions.users.first() || message.guild.members.cache.get(args[1]));
if(!mperson) return message.reply("I cannot find the user " + mperson)
var mainrole = message.guild.roles.cache.get("718166462862196777");
var muterole = message.guild.roles.cache.get("717606607910993930");
if(!muterole) return message.reply("Couldn't find the mute role.")
let time = args[2];
if(!time){
return message.reply("You didnt specify a time!");
}
mperson.roles.add(mainrole).catch(console.error)
mperson.roles.remove(muterole).catch(console.error);
message.channel.send(`${mperson.user} has now been muted for ${ms(ms(time))}`)
setTimeout(function(){
mperson.roles.add(mainrole)
mperson.roles.remove(muterole);
console.log(muterole)
message.channel.send(`${mperson.user} has been unmuted.`)
}, ms(time));
break;
}
});
bot.login(token);
我想从提到的玩家中添加和删除的角色没有改变,我有什么办法可以解决这个问题?
【问题讨论】:
-
记录了任何错误吗?这是 v11 还是 v12?
标签: javascript discord.js