【发布时间】:2021-02-05 13:25:33
【问题描述】:
我正在尝试制定排行榜命令,我想出了如何为我的所有机器人用户执行此操作,但我不知道如何为一个公会执行此操作
我不断收到此错误:TypeError: message.guild.members.forEach is not a function
代码:
const db = require('quick.db')
const ms = require('parse-ms')
const Discord = require(`discord.js`);
module.exports = {
name: 'lb',
execute(message) {
const client = message.client
let prefix = db.get(`prefix_${message.guild.id}`)
let defaultprefix = "$$"
if(prefix === null) prefix = defaultprefix
let money = message.guild.members.forEach(member => db.get(`money_${member.id}`)).sort((a, b) => b.data - a.data)
money.length = 15;
var finalLb = ``;
for (var i in money) {
finalLb += `**#${money.indexOf(money[i])+1}** ${client.users.cache.get(money[i].ID.split('_')[1]) ? client.users.cache.get(money[i].ID.split('_')[1]).tag : `Deleted User#0000`} - ${money[i].data}\n`;
}
const embed = new Discord.MessageEmbed()
.setAuthor(`Top 15 richest users in this server`)
.setDescription(finalLb)
.setThumbnail(message.guild.iconURL({ dynamic: true }))
.setColor(`990000`)
.setTimestamp()
message.channel.send(embed);
}
}```
【问题讨论】:
-
如果您使用的是 discord.js v12.x,您需要通过缓存属性传递它。
message.guild.members.cache.forEach()
标签: javascript node.js discord.js quick.db