Client.Guilds即将成为'undefined'



好的,所以我正在编写一个不和谐的机器人,它输出公会(服务器(中的所有用户名。

这是我到目前为止的代码。

var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
colorize: true
});
logger.level = 'debug';
// Initialize Discord client
var client = new Discord.Client({
token: auth.token,
autorun: true
});
client.on('ready', function (evt) {
logger.info('Connected');
logger.info('Logged in as: ');
logger.info(client.username + ' - (' + client.id + ')');
logger.info(client.guilds);
});
client.on('message', function (user, userID, channelID, message, evt) {
// Our client needs to know if it will execute a command
// It will listen for messages that will start with `!`
if (message.substring(0, 1) == '.') {
var args = message.substring(1).split(' ');
var cmd = args[0];
args = args.splice(1);
switch(cmd) {
case 'members':
var memberList = [];
const guild = client.guilds.get("610719306678009856");
guild.members.forEach(member => memberList.push((member.user.username)));  
client.sendMessage({
to: channelID,
message: memberList, 
});
break;
// Just add any case commands if you want to..
}
}
});

我收到一个错误,client.guilds.getTypeError: Cannot read property 'get' of undefined.

然后我添加了logger.info(client.guilds)以查看它是否会输出,并在启动时输出{"message":"undefined","level":"info"}

我一直在检查文档,我不知道为什么这不起作用。

如文档所述Client对象的属性下没有guilds,但在Client下有一个servers属性。

所以你可以做client.servers.get(idOfServer)

最新更新