制作不和谐机器人。除-!prefix
的一个命令外,一切正常。 -!
是前缀,命令采用args并更改服务器的前缀。
在我详细讨论这个问题之前,这里是机器人的代码,也许我只是在竞争中做错了什么:Hastebin Link
根据控制台:Console Log
,此处的错误位于第52行我很困惑如何处理“未定义”。我尝试使用message.guild.id
属性作为变量,也尝试使用代码中显示的属性。我已经尝试将它移动到多个地方,尽管它甚至注册的唯一地方是前缀命令的INSIDE(由于此错误,它当前已被破坏。)
任何人都有任何修复?我不是那么多关于整个JavaScript的专家,因为我从Python和常规Java中找到了。
答案 0 :(得分:2)
您line 52
的代码目前是:
var server = bot.guilds.get(message.author).id
您目前正在将User
个对象传递到应该收到.get()
的{{1}}。
考虑到这一点,您的代码应如下所示:
id or snowflake
然而,这有点过分,因为您可以简单地将其缩短为:
var server = bot.guilds.get(message.guild.id).id;
现在你说你已经
了尝试使用
var server = message.guild.id;
属性作为变量,以及代码中显示的属性。
我不确定你的意思是否是我刚才建议的,但如果是,请通知我。
答案 1 :(得分:0)
根据the discord.js documentation,bot.guilds
由每个公会的ID编制索引。 message.author
是User
对象,而不是公会ID。您不能将User对象放入bot.guilds.get
并期望它可以工作;它只接受公会ID。
要获取发送邮件的服务器,只需执行message.guild
。