【发布时间】:2021-01-25 04:02:21
【问题描述】:
我想在 discord bot 中统计成员,但它给出了错误。我通过互联网搜索它,但我没有找到它! 这是代码:
const Commando = require('discord.js-commando');
const bot = new Commando.Client({commandPrefix: '$'});
const TOKEN = 'here is token';
const MIN_INTERVAL = 3 * 1000;
const guild = bot.guilds.get("394805546450026496");
bot.registry.registerGroup('connectc', 'Connectc');
bot.registry.registerGroup('defaultc', 'Defaultc');
bot.registry.registerDefaults();
bot.registry.registerCommandsIn(__dirname + "/commands")
bot.on('ready', function(){
console.log("Ready");
setInterval(function(){
var memberCount = guild.members.filter(member => !member.user.bot).size;
var memberCountChannel = bot.channels.get("547805078787194891");
memberCountChannel.setName("????Osoby: "+ memberCount +" ????");
}, MIN_INTERVAL);
});
bot.login(TOKEN);
这里有错误:
C:\Users\User\Documents\Visual Studio Code\Discord Bots\VblacqeBot\index.js:18
var memberCount = guild.members.filter(member => !member.user.bot).size;
^
TypeError: Cannot read property 'members' of undefined
at CommandoClient.<anonymous> (C:\Users\User\Documents\Visual Studio Code\Discord Bots\VblacqeBot\index.js:18:29)
at CommandoClient.emit (events.js:194:15)
at WebSocketConnection.triggerReady (C:\Users\User\Documents\Visual Studio Code\Discord Bots\VblacqeBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:125:17)
at WebSocketConnection.checkIfReady (C:\Users\User\Documents\Visual Studio Code\Discord Bots\VblacqeBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:141:61)
at GuildCreateHandler.handle (C:\Users\User\Documents\Visual Studio Code\Discord Bots\VblacqeBot\node_modules\discord.js\src\client\websocket\packets\handlers\GuildCreate.js:13:31)
at WebSocket.onMessage (C:\Users\User\Documents\Visual Studio Code\Discord Bots\VblacqeBot\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:189:13)
请帮帮我!
【问题讨论】:
-
公会ID正确吗?在设置 memberCount 变量之前添加
console.log(guild);,如果定义了公会,请检查输出 -
您是否启用了会员意图?
标签: node.js count bots discord.js member