如何在我的水准测量系统中识别GuildMember?

时间:2019-06-05 21:38:34

标签: javascript discord discord.js

我正在使用带有MySQL的调平系统,目前我正在使用用户ID作为每一行的标识符。不利的一面是,级别通过不同的服务器进行。因此,我需要一种识别GuildMember的方法。

我尝试使用GuildMember#id,但最终与用户ID相同(很奇怪!)

con.query(`SELECT * FROM leveling WHERE id = '${message.guild.member(message.author).id}'`, (err, rows) => {
            if (err) throw err;
            let id = message.guild.member(message.author).id;
            // leveling stuff
}

我希望message.guild.member(message.author).id为我提供一个GuildMember的唯一标识符,但它与用户ID相同。

1 个答案:

答案 0 :(得分:1)

首先,欢迎您使用Stack Overflow。希望这个答案对您有帮助。

在API中,没有GuildMember的唯一标识符。 GuildMember.id应该与User.id相同(前者只是返回后者)。

关于增加行会分隔,您可以在数据库中为Guild ID添加一列。这样,您只能在特定服务器内更改和选择值。

查询示例:

con.query(`SELECT * FROM leveling WHERE id = '${message.author.id}' AND guild = '${message.guild.id}'`, (err, rows) => {...});