我使用的是带有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相同。
发布于 2019-06-06 06:15:05
首先也是最重要的,欢迎来到Stack Overflow。希望这个答案对你有帮助。
在接口中,GuildMembers没有唯一的标识符,GuildMember.id
应该和User.id
相同(前者只是返回后者)。
至于添加行会分离,您可以在数据库中为Guild ID添加一列。这样,您只能在特定服务器内更改和选择值。
查询示例:
con.query(`SELECT * FROM leveling WHERE id = '${message.author.id}' AND guild = '${message.guild.id}'`, (err, rows) => {...});
https://stackoverflow.com/questions/56468359
复制相似问题