我正在制作排行榜机器人,并且意识到它在调用用户时会ping多用户,我只想显示其当前用户名。
for(let i = 0; i < 10; i++ ){
let place = i + 1;
if(i < board.length){
let username = board[i].id;
if(board[i].id === user){
onBoard = true;
}
leader += `*${place}*. <@${username}> score: **${board[i].score}**\n`;
}
}
因此,每当我们发布前10位用户时,他们都会被ping通,所以我只想发布其用户名,考虑到我只用一些SQLite保存了他们的Discord ID。
答案 0 :(得分:1)
您可以使用client.users.cache.get("ID")
来获取用户并显示其用户名。
for (let i = 0; i < 10; i++) {
let place = i + 1;
if (i < board.length) {
const User = client.users.cache.get(board[i].id);
if (board[i].id === user) {
onBoard = true
};
leader += `*${place}*. ${User.username} Score: **${board[i].score}**`
// User.username
// --> MyUsername
// User.tag
// --> MyUsername#0629
}
};