2017-09-30 13 views
0

現在、私はDiscordボットを使っています。現在、「一般的な」音声チャンネルに接続しているすべてのユーザーを一覧表示しようとしています。Discordチャンネルにすべてのユーザーを表示

私の主な問題は、私のコードが音声チャネルの人数を認識できることですが、すべての「メンバー」オブジェクトは未定義です。これは、コンソールの出力とコードの両方です。私はどこでも検索して何かを見つけることができません。

これはコンソールから出力され、三つの「未定義」ログは音声チャネルの現在のユーザーです:

enter image description here

これは私が書いたコードです

enter image description here

便宜のために、これはコードです。

var chan = bot.channels['363589387411259396']; 
var mems = chan.members; 
for (var x in mems) { 
    console.log(x.userID); 
} 
return 'ANYTHING'; 

何か助けてください、ありがとう!

+0

APIへのリンクを教えてください。 –

+0

もちろん。 https://discord.js.org/#/docs/main/stable/class/Client < - これはクライアントオブジェクトのドキュメントです https://discord.js.org/#/docs/main/stable/class/Channel < - これはChannelオブジェクトのドキュメントです –

+0

[members](https://discord.js.org/#/docs/main/stable/class/VoiceChannel?scrollTo=members)は 'Collection '[Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)を拡張して、 のようなキー値を繰り返し処理できるようにする必要があります'for(memsの[snowflake、guildMember]を許可します) { console.log( 'snowflake:' + snowflake); console.log( 'id:' + guildMember.id); console.log( 'user id:' + guildMember.user.id); } ' –

答えて

0

Guild.membersSnowflakeGuildMemberのIDであるCollection<Snowflake, GuildMember>オブジェクトを返します。

主な問題は次のとおりです。
userIDプロパティは存在しません。あなたが探しているものはGuildMember.idであるか、単にSnowflakeを印刷しています。
(それが存在しないため、GuildMember.userIDをプリントアウトするundefinedをプリントアウトすることになる)

また、あなたはヴェンカタコメントで述べた内容とあなたのループを行うことができます。

+0

私はそれを試してみましょう、ありがとう! –

関連する問題