2017-09-30 3 views
0

Momentan arbeite ich an einem Discord-Bot und versuche alle Benutzer aufzulisten, die gerade mit dem "allgemeinen" Sprachkanal verbunden sind.Alle Benutzer im Discord-Kanal anzeigen

Mein Hauptproblem ist jetzt, dass mein Code in der Lage ist, die Anzahl der Personen im Sprachkanal zu realisieren, aber alle "member" Objekte sind undefiniert. Dies sind sowohl die Konsolenausgaben als auch der Code. Ich habe überall gesucht und kann scheinbar nichts finden.

Dies ist die Ausgabe von der Konsole ist, sind die drei "undefiniert" meldet den aktuellen Benutzer in den Sprachkanal:

enter image description here

Dies ist der Code I geschrieben:

enter image description here

Für convience, ist dies auch der Code ...

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

Alle Eingaben hilft, danke!

+0

Könnten Sie bitte den Link zur API angeben? –

+0

Natürlich. https://discord.js.org/#/docs/main/stable/class/Client <- dies ist die Objektdokumentation des Clients https://discord.js.org/#/docs/main/stable/class/Channel <- das ist die Channel-Objektdokumentation –

+0

[members] (https://discord.js.org/#/docs/main/stable/class/VoiceChannel?scrollTo=members) ist eine 'Collection 'erweitert [Map] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map), so dass Sie in der Lage sein sollten, die Schlüsselwerte zu durchlaufen 'for (let [snowflake, guildMember] von mems) { console.log ('snowflake:' + snowflake); console.log ('id:' + guildMember.id); console.log ('Benutzer-ID:' + guildMember.user.id); } ' –

Antwort

0

Guild.members gibt ein Collection<Snowflake, GuildMember> Objekt zurück, wobei Snowflake die GuildMember ID ist.

Ihr Hauptproblem ist das:
userID Eigenschaft existiert nicht. Was Sie suchen sollten, ist GuildMember.id oder einfach ausdrucken Snowflake.

auch (Da es nicht existiert, GuildMember.userID Ausdrucken undefined in Ausdrucken führen würde), können Sie Ihre Schleife tun als das, was Venkata in den Kommentaren erwähnt.

+0

Ok, ich werde es versuchen, danke! –

Verwandte Themen