[英]Discord.js - Guild ID is undefined even though definition is there
做一个不和谐的机器人。 除了-!prefix
的一个命令外,其他所有东西都可以正常工作。 -!
是前缀,该命令使用args并更改服务器的前缀。
在我详细介绍这件事之前,这里是机器人的代码,也许我只是在const中做错了什么: Hastebin链接
根据控制台,这里的错误在第52行: 控制台日志
我对如何处理“未定义”感到困惑。 我试过使用message.guild.id
属性作为变量,以及代码中显示的那个。 我尝试将其移到多个位置,尽管它甚至注册的唯一位置是前缀命令的内部(由于此错误,该命令目前已中断)。
有人有修复程序吗? 我不是整个JavaScript领域的专家,因为我来自Python和常规Java。
当前在line 52
代码是:
var server = bot.guilds.get(message.author).id
当前,您正在将User
对象传递到.get()
,该对象应该接收到id or snowflake
。
考虑到这一点,您的代码应如下所示:
var server = bot.guilds.get(message.guild.id).id;
但是,这有点多余,因为您可以将其缩短为:
var server = message.guild.id;
现在你说你已经
尝试使用
message.guild.id
属性作为变量,以及代码中显示的变量。
我不确定您的意思是否是我的建议,但是如果是,请通知我。
根据bot.guilds
文档 , bot.guilds
由每个行会的ID索引。 message.author
是User
对象,而不是行业ID。 您不能将User对象放入bot.guilds.get
并期望它起作用。 它只接受公会ID。
要获取发送消息的服务器,只需执行message.guild
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.