【发布时间】:2022-01-21 07:03:35
【问题描述】:
这是 discord.js v13 membercount 命令。由于某种原因它不起作用。我在许多不和谐的服务器上寻求帮助,但他们视而不见。如果有人可以提供帮助,那就太棒了。
const Discord = require("discord.js");
const {MessageEmbed} = require("discord.js");
const config = require("../../botconfig/config.json")
var ee = require("../../botconfig/embed.json")
const settings = require("../../botconfig/settings.json");
module.exports = {
name: "membercount", //the command name for execution & for helpcmd [OPTIONAL]
category: "Information", //the command category for helpcmd [OPTIONAL]
aliases: [], //the command aliases for helpcmd [OPTIONAL]
cooldown: 5, //the command cooldown for execution & for helpcmd [OPTIONAL]
usage: "membercount", //the command usage for helpcmd [OPTIONAL]
description: "Shows the Amount of Members in DETAIL", //the command description for helpcmd [OPTIONAL]
memberpermissions: [], //Only allow members with specific Permissions to execute a Commmand [OPTIONAL]
requiredroles: [], //Only allow specific Users with a Role to execute a Command [OPTIONAL]
alloweduserids: [], //Only allow specific Users to execute a Command [OPTIONAL]
minargs: 0, // minimum args for the message, 0 == none [OPTIONAL]
maxargs: 0, // maximum args for the message, 0 == none [OPTIONAL]
minplusargs: 0, // minimum args for the message, splitted with "++" , 0 == none [OPTIONAL]
maxplusargs: 0, // maximum args for the message, splitted with "++" , 0 == none [OPTIONAL]
argsmissing_message: "", //Message if the user has not enough args / not enough plus args, which will be sent, leave emtpy / dont add, if you wanna use command.usage or the default message! [OPTIONAL]
argstoomany_message: "", //Message if the user has too many / not enough args / too many plus args, which will be sent, leave emtpy / dont add, if you wanna use command.usage or the default message! [OPTIONAL]
run: async (client, message, args, plusArgs, cmdUser, text, prefix) => {
try {
await message.guild.members.fetch();
message.reply({embeds: [new Discord.MessageEmbed()
.setAuthor("Member-Count Information About: " + message.guild.name, message.guild.iconURL({
dynamic: true
}),)
.setColor(ee.color)
.addField("❱ Total USERS", "???? \`" + message.guild.memberCount + "\`", true)
.addField("❱ Total HUMANS", "???? \`" + message.guild.members.cache.filter(member => !member.user.bot).size + "\`", true)
.addField("❱ Total BOTS", "???? \`" + message.guild.members.cache.filter(member => member.user.bot).size + "\`", true)
.addField("❱ ONLINE", "???? \`" + message.guild.members.cache.filter(member => member.presence.status != "offline").size + "\`", true)
.addField("❱ ONLINE", "???? \`" + message.guild.members.cache.filter(member => !member.user.bot && member.presence.status != "offline").size + "\`", true)
.addField("❱ ONLINE", "???? \`" + message.guild.members.cache.filter(member => member.user.bot && member.presence.status != "offline").size + "\`", true)
.addField("❱ IDLE", "???? \`" + message.guild.members.cache.filter(member => member.presence.status == "idle").size + "\`", true)
.addField("❱ IDLE", "???? \`" + message.guild.members.cache.filter(member => !member.user.bot && member.presence.status == "idle").size + "\`", true)
.addField("❱ IDLE", "???? \`" + message.guild.members.cache.filter(member => member.user.bot && member.presence.status == "idle").size + "\`", true)
.addField("❱ DND", "???? \`" + message.guild.members.cache.filter(member => member.presence.status == "dnd").size + "\`", true)
.addField("❱ DND", "???? \`" + message.guild.members.cache.filter(member => !member.user.bot && member.presence.status == "dnd").size + "\`", true)
.addField("❱ DND", "???? \`" + message.guild.members.cache.filter(member => member.user.bot && member.presence.status == "dnd").size + "\`", true)
.addField("❱ OFFLINE", ":black_circle:\`" + message.guild.members.cache.filter(member => member.presence.status == "offline").size + "\`", true)
.addField("❱ OFFLINE", ":black_circle:\`" + message.guild.members.cache.filter(member => !member.user.bot && member.presence.status == "offline").size + "\`", true)
.addField("❱ OFFLINE", ":black_circle:\`" + message.guild.members.cache.filter(member => member.user.bot && member.presence.status == "offline").size + "\`", true)
.setTimestamp()
]});
} catch (e) {
console.log(String(e.stack).bgRed)
return message.reply({embeds: [new MessageEmbed()
.setColor(ee.wrongcolor)
.setFooter(ee.footertext, ee.footericon)
.setTitle(`❌ ERROR | An error occurred`)
.setDescription(`\`\`\`${e.message ? String(e.message).substr(0, 2000) : String(e).substr(0, 2000)}\`\`\``)
]});
}
}
}
这是错误
TypeError: Cannot read properties of null (reading 'status')
at C:\Users\Lucaq\OneDrive\Desktop\NamiSwan\commands\Information\membercount.js:34:102
at Map.filter (C:\Users\Lucaq\OneDrive\Desktop\NamiSwan\node_modules\@discordjs\collection\dist\index.js:1:2066)
at Object.run (C:\Users\Lucaq\OneDrive\Desktop\NamiSwan\commands\Information\membercount.js:34:69)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
我应该添加更多细节。您不需要阅读此内容,它只是不断要求我添加越来越多的细节。
我应该添加更多细节。您无需阅读此内容,它只是不断要求我添加越来越多的细节。
【问题讨论】:
-
member.presence为空。找出原因。 -
@ceejayoz 问题是我不知道我问的原因是什么
-
@ceejayoz 因为我认为没有什么可以定义
-
Member#presence为 离线 成员返回null。检查member.presence === null
标签: javascript node.js discord discord.js bots