我正在使用带有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相同。
答案 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) => {...});