Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript discord.js错误“;“未定义通道”;_Javascript_Discord_Discord.js_Bots - Fatal编程技术网

Javascript discord.js错误“;“未定义通道”;

Javascript discord.js错误“;“未定义通道”;,javascript,discord,discord.js,bots,Javascript,Discord,Discord.js,Bots,因此,我制作了一个静音命令,创建了一个静音角色,并将其提供给所提到的用户,目前我得到一个错误:通道未定义, 我不知道如何修复这个错误,我需要帮助 module.exports = class MuteCommand extends BaseCommand { constructor() { super('mute', 'moderation', []); } async run(client, message, args) { if (!message.member

因此,我制作了一个静音命令,创建了一个静音角色,并将其提供给所提到的用户,目前我得到一个错误:通道未定义, 我不知道如何修复这个错误,我需要帮助

module.exports = class MuteCommand extends BaseCommand {
  constructor() {
    super('mute', 'moderation', []);
  }

  async run(client, message, args) {
    if (!message.member.hasPermission("MUTE_MEMBERS")) return message.channel.send("You do not have Permission to use this command.");
    if (!message.guild.me.hasPermission('MANAGE_ROLES')) return message.channel.send("I do not have Permission to mute members.");

    let reason = args.slice(1).join(' ');
    let roleName = 'Muted';
let muteRole = message.guild.roles.cache.find(x => x.name === roleName);
if (typeof muteRole === undefined) {
  guild.roles.create({ data: { name: 'Muted', permissions: ['SEND_MESSAGES', 'ADD_REACTIONS'] } });
} else {
}   
    muteRole = message.guild.roles.cache.find(x => x.name === roleName);
    channel.updateOverwrite(channel.guild.roles.muteRole, { SEND_MESSAGES: false });
    const mentionedMember = message.mentions.member.first() || message.guild.members.cache.get(args[0]);
    const muteEmbed = new Discord.MessageEmbed()
     .setTitle('You have been Muted in '+message.guild.name)
     .setDescription('Reason for Mute: '+reason)
     .setColor('#6DCE75')
     .setTimestamp()
     .setFooter(client.user.tag, client.user.displayAvatarURL())
     .setImage(message.mentionedMember.displayAvatarURL());

     if (!args[0]) return message.channel.send('You must mention a user to mute.');
     if (!mentionedMember) return message.channel.send('The user mentioned is not in the server.');
     if (mentionedMember.user.id == message.author.id) return message.channel.send('You cannot mute yourself.');
     if (mentionedMember.user.id == client.user.id) return message.channel.send('You cannot mute me smh.');
     if (!reason) reason = 'No reason given.';
     if (mentionedMember.roles.cache.has(muteRole.id)) return message.channel.send('This user has already been muted.');
     if (message.member.roles.highest.position <= mentionedMember.roles.highest.position) return message.chanel.send('You cannot mute someone whos role is higher and/or the same as yours');

     await mentionedMember.send(muteEmbed).catch(err => console.log(err));
     await mentionedMember.roles.add(muteRole.id).catch(err => console.log(err).then(message.channel.send('There was an issue while muting the mentioned Member')));

  }
}
module.exports=class MuteCommand扩展BaseCommand{
构造函数(){
超级(‘静音’、‘适度’、[]);
}
异步运行(客户端、消息、参数){
if(!message.member.hasPermission(“MUTE_MEMBERS”))返回message.channel.send(“您没有使用此命令的权限”);
如果(!message.guild.me.hasPermission('MANAGE_ROLES'))返回message.channel.send(“我没有使成员静音的权限”);
让reason=args.slice(1.join)(“”);
让roleName=‘静音’;
让muterrole=message.guild.roles.cache.find(x=>x.name==roleName);
if(类型muteOf role==未定义){
创建({data:{name:'Muted',权限:['SEND_MESSAGES','ADD_REACTIONS']});
}否则{
}   
muterrole=message.guild.roles.cache.find(x=>x.name==roleName);
channel.updateOverwrite(channel.guild.roles.muteRole,{SEND_MESSAGES:false});
const-sindedMember=message.sindements.member.first()| | message.guild.members.cache.get(args[0]);
const muteEmbed=new Discord.MessageEmbed()
.setTitle('您已在'+message.guild.name'中被禁用)
.setDescription('静音原因:'+原因)
.setColor(“#6DCE75”)
.setTimestamp()文件
.setFooter(client.user.tag,client.user.displayAvatarURL())
.setImage(message.referencedMember.displayAvatarURL());
if(!args[0])返回message.channel.send('必须提及要禁用的用户');
if(!NidedMember)返回message.channel.send('提到的用户不在服务器中');
if(indegatedMember.user.id==message.author.id)返回message.channel.send('您不能使自己静音');
if(indicatedMember.user.id==client.user.id)返回message.channel.send('您不能使我的smh静音');
如果(!reason)原因='未给出原因';
if(referencedMember.roles.cache.has(muteRole.id))返回message.channel.send('此用户已被禁用');
if(message.member.roles.highest.position console.log(err));
等待提及的Member.roles.add(muteRole.id).catch(err=>console.log(err).then(message.channel.send('禁用提及的成员时出现问题'));
}
}
我相信在这段代码中可能会有比我想象的更多的错误,因为我对编码相当陌生。

您使用了“通道”,但没有声明它。因此,它是未定义的

检查行“channel.updateOverwrite(channel.guild.roles.muterrole,{SEND_MESSAGES:false};”

请参考以下链接 Discord.JS文档:

堆栈溢出回答:

const { Client, Intents } = require('discord.js')
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });
client.on('ready', () => {
 console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
  if (msg.content === 'ping') {
    msg.channel.send('pong');
  });
});