Node.js 您好,我正在为discord bot编写一些代码,当我执行取消静音和静音时,我正在尝试让它发送消息
我正在为discord bot编写一些代码,在我执行取消静音和静音的过程中,我试图让它发送一条消息,如果它们已经被静音或未静音,但我无法正确执行任何帮助都会非常有用。 多谢各位Node.js 您好,我正在为discord bot编写一些代码,当我执行取消静音和静音时,我正在尝试让它发送消息,node.js,discord.js,Node.js,Discord.js,我正在为discord bot编写一些代码,在我执行取消静音和静音的过程中,我试图让它发送一条消息,如果它们已经被静音或未静音,但我无法正确执行任何帮助都会非常有用。 多谢各位 module.exports = { name: 'unmute', description: "This unmutes a member", execute(message, args){ if (message.member.ha
module.exports = {
name: 'unmute',
description: "This unmutes a member",
execute(message, args){
if (message.member.hasPermission('MUTE_MEMBERS')) {
if (member.roles.cache.has(mainRoleId)){
return message.channel.send('Provided member isnt muted');
}else{
const target = message.mentions.users.first();
if(target){
let mainRole = message.guild.roles.cache.find(role => role.name === 'Verified');
let muteRole = message.guild.roles.cache.find(role => role.name === 'MUTED');
let memberTarget= message.guild.members.cache.get(target.id);
memberTarget.roles.remove(muteRole.id);
memberTarget.roles.add(mainRole.id);
message.channel.send(`<@${memberTarget.user.id}> has been unmuted`);
} else{
message.channel.send('Cant find that member!');
}
}else {
message.reply('you do not have permissions to use this command');
}
}
}
module.exports={
名称:“取消静音”,
description:“这将取消成员的静音”,
执行(消息,参数){
if(message.member.hasPermission('MUTE_MEMBERS')){
if(member.roles.cache.has(mainRoleId)){
返回message.channel.send('提供的成员未静音');
}否则{
const target=message.indications.users.first();
如果(目标){
让mainRole=message.guild.roles.cache.find(role=>role.name==='Verified');
让muteRole=message.guild.roles.cache.find(role=>role.name=='MUTED');
让memberTarget=message.guild.members.cache.get(target.id);
memberTarget.roles.remove(muteRole.id);
memberTarget.roles.add(mainRole.id);
message.channel.send(`has unmute`);
}否则{
message.channel.send('找不到该成员!');
}
}否则{
message.reply('您没有使用此命令的权限');
}
}
}
mainRoleId
和被静音的成员之间有什么关系?如果我正确理解您的推理,您应该声明let muteRole=message.guild.roles.cache.find(role=>role.name====“muted”);
在If
语句的开头,然后使用
if (!member.roles.cache.has(muteRoleId)){
return message.channel.send('Provided member isn't muted.');
一旦有人忘记传递参数,您的机器人就会崩溃。请记住,在命令开始时进行一些傻瓜式检查,如下所示(假设您要传递args中未静音的人,这是必需的参数):
现在,对于标题中的问题,给出了我的回答,并且有一个函数
if(member.roles.cache.has(muteRoleId))
您应该能够自己解决它。您好,当我做if(member.roles.cache.has(muteRoleId))
的时候{在代码末尾显示红色,好像有错误if(condition){}else{}else{}
不正确,因为在第一个else
执行后,没有逻辑方法到达第二个else。请尝试:if(condition){}else if(condition){}else(condition){}else{code>
if (!member.roles.cache.has(muteRoleId)){
return message.channel.send('Provided member isn't muted.');
const target = message.mentions.users.first();
if (!args[0]) return message.reply(`not enough arguments!`);
if (message.mentions.users.first() == undefined) return message.reply(`user not found!`);