Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Discord 当你不提时,机器人崩溃了_Discord_Discord.js - Fatal编程技术网

Discord 当你不提时,机器人崩溃了

Discord 当你不提时,机器人崩溃了,discord,discord.js,Discord,Discord.js,我在我的机器人上有这个命令,你可以使用命令g使某人静音!在使用@提及“用户”时静音。但是,如果您不提及例如GeoGeo而不是@GeoGeo,则会导致bot崩溃。我知道您需要放置.catch(console.error);在某个地方,但我不知道在哪里。提前谢谢。错误是 let person=message.guild.member(message.indications.users.first()| | message.guild.members.get(args[1])) ^ TypeError

我在我的机器人上有这个命令,你可以使用命令g使某人静音!在使用@提及“用户”时静音。但是,如果您不提及例如GeoGeo而不是@GeoGeo,则会导致bot崩溃。我知道您需要放置.catch(console.error);在某个地方,但我不知道在哪里。提前谢谢。错误是

let person=message.guild.member(message.indications.users.first()| | message.guild.members.get(args[1]))
^
TypeError:message.guild.members.get不是函数
代码:

const Discord=require('Discord.js');
常数ms=要求('ms');
module.exports={
名称:“静音”,
description:“这是静音命令”,
执行(消息,参数){
如果(!message.member.roles.cache.find(r=>r.name==“Staff”、“Head Staff”、“Owner”、“Co Owner”))返回message.channel.send(`您没有这样做的权限')
让members=args[0];
如果(!members)返回message.reply(“g!mute”)
让person=message.guild.member(message.indications.users.first()| | message.guild.members.get(args[1]))
if(!person)返回message.reply(“该人不在服务器中!”);
让mainrole=message.guild.roles.cache.find(role=>role.name==“Fans”);
让muterole=message.guild.roles.cache.find(role=>role.name==“muted”);
if(!muterole)返回message.reply(“该角色不存在”);
let time=args[1];
如果(!时间){
返回消息。回复(“g!静音”);
}
person.roles.remove(mainrole.id);
person.roles.add(muterole.id);
const embed=new Discord.MessageEmbed()
.setTitle(“静音:)
.setDescription(${person.user.tag}现在已被${ms(ms(time))}静音`)
.setColor(0x01B8FF)
message.channel.send(嵌入);
setTimeout(函数(){
person.roles.add(mainrole.id)
person.roles.remove(muterole.id)
const embed=new Discord.MessageEmbed()
.setTitle(“静音:)
.setDescription(`${person.user.tag}已取消静音`)
.setColor(0x01B8FF)
message.channel.send(嵌入);
}ms(时间);
}
}

当遇到如下错误时:
TypeError:message.guild.members.get不是函数

合乎逻辑的做法是检查文档,以查看
message.guild.members
确实有一个名为
get
的函数。以下是文件:

get
。但是有一个
缓存
,就像您在代码中的其他地方使用的一样。只需检查文档,您就可以知道您现有的代码是错误的(已经过时),并且您需要像代码中的其他地方一样使用
cache

message.guild.members.cache.get(args[1])

如果您正在崩溃,则会出现错误。错误会告诉您确切的问题以及要更改的行。这是第一、第二和第三个解决问题的地方,如果你遇到问题,你也应该与我们分享。我添加了错误