Discord client.guilds显示为';未定义';
好的,我正在写一个discord机器人,它输出一个公会(服务器)中的所有用户名 这是我到目前为止的代码Discord client.guilds显示为';未定义';,discord,discord.io,Discord,Discord.io,好的,我正在写一个discord机器人,它输出一个公会(服务器)中的所有用户名 这是我到目前为止的代码 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.
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.get
收到一个错误,说TypeError:无法读取未定义的属性“get”
然后,我添加了logger.info(client.guilds)
以查看它是否会输出,并在启动时输出{“message”:“undefined”,“level”:“info”}
我一直在检查文档,我不知道为什么这不起作用。文档中所述的对象下没有
行会,但客户端下有一个服务器属性
因此,您可以改为执行client.servers.get(idOfServer)
。您使用的是Discord.io包,而不是Discord.js包。Discord.js为名为guilds
的客户端提供了一个属性,用于获取所有服务器。Discord.io具有相同的属性,但名称为服务器
。因此,解决办法是用客户端服务器
替换客户端协会
,我是个十足的白痴,在discord.io机器人中使用discord.js代码。