不和谐.js |在 quick.db 中扮演一个角色
Posted
技术标签:
【中文标题】不和谐.js |在 quick.db 中扮演一个角色【英文标题】:discord.js | Putting a role in quick.db 【发布时间】:2020-10-06 06:06:34 【问题描述】:基本上我尝试了一个命令来设置一个muterole,它正在使用quick.db。基本上使用 o.set muterole @role 应该将角色放入数据库并显示在设置面板中。
而不是在设置面板中显示:
let muterole = await db.fetch(`muterole_$message.guild.id`)
它只会在该部分中显示 [ object Object ]。
所以我试着做
let mrdb = await db.fetch(`muterole_$message.guild.id`)
let muterole = message.guild.roles.cache.get(mrdb)
然后它显示为未定义。
这是第二次尝试。
我怎样才能做到这一点,所以使用 quick.db 我可以正确地通过数据库进行 muterole 进程。
(如果不清楚,请见谅)
【问题讨论】:
您没有显示设置角色的代码。我假设问题是当你设置它时你正在设置一个对象,而不是尝试将它设置为一个 id。 【参考方案1】:从您描述的方式来看,您似乎将角色本身存储在数据库中,而不是 ID,因此调用 message.guild.roles.cache.get()
返回未定义。
不是将角色本身存储到数据库中,而是存储角色的 ID。
【讨论】:
【参考方案2】:您的 muterrole 是您第一次尝试中指出的对象。这意味着当您将字段设置为该值时,它将显示为 [Object object]。这是无效对象分配的 javascript 表示。要解决此问题,您可能希望 console.log() 您的 muter 角色:
console.log(muterrole)
找出对象的结构。下面是一个例子:
example_role = name: "Anonymous", date: "25th April 2020";
console.log(example_role) // name: "Anonymous", date: "25th April 2020"
console.log(example_role.name) // Anonymous
使用上面提到的代码,您可以 console.log() 您的对象来查找您需要的元素并使用其上的 .x 函数来获取该值。
希望对你有帮助,欢迎评论。
【讨论】:
以上是关于不和谐.js |在 quick.db 中扮演一个角色的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js 错误:它正在删除整个数组。 Quick.db 和 discord.js
quick.db 调平系统 - database.updateValue 不是函数