Дискорд бот | Система баллов на основе SQLite - PullRequest
0 голосов
/ 12 апреля 2020

Я новичок в программировании, так что простите, если проблема глупая. Я создаю бот Discord, практикую JS, но я хотел систему XP / выравнивания, что для меня слишком много, поэтому я следовал этому руководству здесь:

https://anidiots.guide/coding-guides/sqlite-based-points-system

Мой код, таким образом, на 100% идентичен коду на этой странице, и все работает отлично, но одно: при отображении списка лидеров идентификатор пользователя отображается неправильно; вместо этого отображается «undefined». Кроме того, при открытии файла .sqlite и проверке вкладки идентификатора появляется «undefined», и я могу вручную ввести идентификатор, но само собой разумеется, что он не должен так работать.

Есть ли какие-либо часть этого кода, которая не обновляется, или что-то еще?

Заранее спасибо!

1 Ответ

0 голосов
/ 13 апреля 2020

Это руководство устарело с момента разногласий. js v12 вам нужно использовать client.users кеш, или вы можете использовать метод fetch().

Я предполагаю, что вы имеете в виду приведенный ниже фрагмент, который находится на странице, на которую вы ссылались, он был внутри команды leaderboard.

for(const data of top10) {

embed.addField(client.users.get(data.user).tag, `${data.points} points (level ${data.level})`);

}

В этом фрагменте замените client.users.get(data.user).tag на client.users.cache.get(data.user).tag

...