Как я могу определить GuildMember в моей системе выравнивания? - PullRequest
1 голос
/ 06 июня 2019

Я использую систему выравнивания с MySQL, и в настоящее время я использую идентификатор пользователя для идентификатора для каждой строки. Недостатком является то, что уровни проходят через разные серверы. Итак, мне нужен способ идентифицировать члена GuildMember.

Я пытался использовать GuildMember # 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, но он совпадает с идентификатором пользователя.

1 Ответ

1 голос
/ 06 июня 2019

Прежде всего, добро пожаловать в переполнение стека.Надеюсь, вы найдете этот ответ полезным.

В API нет уникального идентификатора для GuildMember s.GuildMember.id ожидается таким же, как User.id (первый просто возвращает второй).

Что касается добавления разделения гильдии, вы можете добавитьстолбец в вашей базе данных для Гильдии ID.Таким образом, вы можете изменять и выбирать значения только на определенном сервере.

Пример запроса:

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