繁体   English   中英

Discord.js-即使存在定义,公会ID仍未定义

[英]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.authorUser对象,而不是行业ID。 您不能将User对象放入bot.guilds.get并期望它起作用。 它只接受公会ID。

要获取发送消息的服务器,只需执行message.guild

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM