目前我正在开发Discord bot,并尝试列出当前连接到“常规”语音频道的所有用户。
我现在的主要问题是我的代码能够实现语音通道中的人数,但所有“成员”对象都是未定义的。这是控制台输出和代码。我到处搜索,似乎找不到任何东西。
这是控制台的输出,三个“未定义”日志是语音频道中的当前用户:
这是我写的代码:
为了方便,这也是代码...
var chan = bot.channels['363589387411259396'];
var mems = chan.members;
for (var x in mems) {
console.log(x.userID);
}
return 'ANYTHING';
任何输入都有帮助,谢谢!
答案 0 :(得分:1)
Guild.members
会返回Collection<Snowflake, GuildMember>
个对象,其中Snowflake
是GuildMember
的ID。
您的主要问题是:
userID
属性不存在。您应该寻找的是GuildMember.id
或只是打印Snowflake
(由于它不存在,打印出GuildMember.userID
会导致打印出undefined
)
另外,你可以按照Venkata在评论中提到的那样进行循环。