0

基本上我尝试了一个命令来设置一个使用 quick.db 的 muterole。基本上使用 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 进程。

(对不起,如果不清楚)

4

2 回答 2

0

您的muterole是您第一次尝试中指出的对象。这意味着当您将字段设置为该值时,它将显示为[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 函数来获取该值。

希望这会有所帮助,请随时发表评论。

于 2020-06-17T02:13:13.413 回答
0

从您描述的方式来看,您似乎将角色本身存储在数据库中,而不是 ID,因此调用message.guild.roles.cache.get()返回未定义。

不是将角色本身存储到数据库中,而是存储角色的 ID。

于 2020-06-17T01:59:27.003 回答