2017-09-30 10 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 <- 채널 객체 문서입니다. –

+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 ('사용자 ID :'+ guildMember.user.id); }' –

답변

0

Guild.membersCollection<Snowflake, GuildMember> 개체를 반환합니다. SnowflakeGuildMember의 ID입니다.

주요 문제는
userID 속성이 없습니다. 찾고자하는 것이 GuildMember.id이거나 간단히 Snowflake입니다.
(존재하지 않기 때문에, GuildMember.userID를 인쇄하는 undefined를 인쇄 초래)

또한, 벤 카타이 코멘트에 언급 한 것과 루프를 할 수 있습니다.

+0

알았어, 한번 해봐, 고마워! –