@@ -28,7 +28,6 @@ function addMemberList(guild) {
2828 . filter ( ( r ) => r . hoist || r . position === 0 ) // Check if it is a displayed role or @everyone
2929 . sort ( ( role1 , role2 ) => role2 . rawPosition - role1 . rawPosition ) ; // Sort by highest to lowest rank
3030
31-
3231 roles . each ( ( r ) => {
3332 // Loop through
3433 let members = r . members
@@ -38,10 +37,10 @@ function addMemberList(guild) {
3837 m . presence &&
3938 m . presence . status != 'offline' &&
4039 ! cachedMembers . includes ( m . user . id )
41- )
40+ )
4241 . toJSON ( ) ;
4342
44- console . log ( members ) ;
43+ console . log ( members ) ;
4544
4645 if ( members . length ) {
4746 // Role container
@@ -56,48 +55,45 @@ function addMemberList(guild) {
5655 name . innerText = `${ r . name } - ${ members . length } ` ;
5756 container . appendChild ( name ) ;
5857
59-
60- // Display only the first 100 members of each role
61- members = members . slice ( 0 , 100 ) ;
58+ // Display only the first 100 members of each role
59+ members = members . slice ( 0 , 100 ) ;
6260
6361 // Add each user
64-
62+
6563 // rendering too many members here causes performance issues.
6664 members
67- . sort ( ( m1 , m2 ) => m1 . id - m2 . id )
68- . forEach ( ( m ) => {
69- cachedMembers . push ( m . id ) ;
70-
71- // Create the outer div
72- let outerDiv = document . createElement ( 'div' ) ;
73- outerDiv . classList . add ( 'mLOuterDiv' ) ;
74- container . appendChild ( outerDiv ) ;
75-
76- // Make the div for the user
77- let userDiv = document . createElement ( 'div' ) ;
78- userDiv . id = m . id ;
79- userDiv . classList . add ( 'mLUserDiv' ) ;
80- outerDiv . appendChild ( userDiv ) ;
81-
82- // Add the user icon
83- let icon = document . createElement ( 'img' ) ;
84- icon . src = m . displayAvatarURL ( { size : 64 } ) ;
85- icon . classList . add ( 'mLIcon' ) ;
86- userDiv . appendChild ( icon ) ;
87-
88- // Make the username text
89- let username = document . createElement ( 'p' ) ;
90- username . classList . add ( 'mLUsername' ) ;
91- let name = m . displayName ;
92- // if (name.length > 15) {
93- // name = `${name.substring(0, 15)}...`
94- // }
95- username . innerText = name ;
96- username . style . color =
97- m . roles . color ?. hexColor || '#8E9297' ;
98- userDiv . appendChild ( username ) ;
99- } ) ;
100-
65+ . sort ( ( m1 , m2 ) => m1 . id - m2 . id )
66+ . forEach ( ( m ) => {
67+ cachedMembers . push ( m . id ) ;
68+
69+ // Create the outer div
70+ let outerDiv = document . createElement ( 'div' ) ;
71+ outerDiv . classList . add ( 'mLOuterDiv' ) ;
72+ container . appendChild ( outerDiv ) ;
73+
74+ // Make the div for the user
75+ let userDiv = document . createElement ( 'div' ) ;
76+ userDiv . id = m . id ;
77+ userDiv . classList . add ( 'mLUserDiv' ) ;
78+ outerDiv . appendChild ( userDiv ) ;
79+
80+ // Add the user icon
81+ let icon = document . createElement ( 'img' ) ;
82+ icon . src = m . displayAvatarURL ( { size : 64 } ) ;
83+ icon . classList . add ( 'mLIcon' ) ;
84+ userDiv . appendChild ( icon ) ;
85+
86+ // Make the username text
87+ let username = document . createElement ( 'p' ) ;
88+ username . classList . add ( 'mLUsername' ) ;
89+ let name = m . displayName ;
90+ // if (name.length > 15) {
91+ // name = `${name.substring(0, 15)}...`
92+ // }
93+ username . innerText = name ;
94+ username . style . color = m . roles . color ?. hexColor || '#8E9297' ;
95+ userDiv . appendChild ( username ) ;
96+ } ) ;
10197 }
10298 } ) ;
10399
@@ -110,51 +106,50 @@ function addMemberList(guild) {
110106 ! cachedMembers . includes ( m . user . id )
111107 )
112108 . toJSON ( ) ;
113-
114- // Display only the first 100 members
115- onlineMembers = onlineMembers . slice ( 0 , 100 ) ;
116- // Create online label text
117- let container = document . createElement ( 'div' ) ;
118- container . id = 'onlineUserList' ;
119- container . classList . add ( 'roleContainer' ) ;
120- listDiv . appendChild ( container ) ;
121109
122- let name = document . createElement ( 'span' ) ;
123- name . classList . add ( 'roleTitle' ) ;
124- name . innerText = 'online' ;
125- container . appendChild ( name ) ;
126-
127- // Show online users
128- onlineMembers
129- . sort ( ( m1 , m2 ) => m1 . id - m2 . id )
130- . forEach ( ( m ) => {
131- cachedMembers . push ( m . id ) ;
132-
133- // Create the outer div
134- let outerDiv = document . createElement ( 'div' ) ;
135- outerDiv . classList . add ( 'mLOuterDiv' ) ;
136- container . appendChild ( outerDiv ) ;
137-
138- // Make the div for the user
139- let userDiv = document . createElement ( 'div' ) ;
140- userDiv . id = m . id ;
141- userDiv . classList . add ( 'mLUserDiv' ) ;
142- outerDiv . appendChild ( userDiv ) ;
143-
144- // Add the user icon
145- let icon = document . createElement ( 'img' ) ;
146- icon . src = m . displayAvatarURL ( { size : 64 } ) ;
147- icon . classList . add ( 'mLIcon' ) ;
148- userDiv . appendChild ( icon ) ;
149-
150- // Make the username text
151- let username = document . createElement ( 'p' ) ;
152- username . classList . add ( 'mLUsername' ) ;
153- username . innerText = m . nickname || m . user . username ;
154- username . style . color = m . roles . color ?. hexColor || '#8E9297' ;
155- userDiv . appendChild ( username ) ;
156- } ) ;
157-
110+ // Display only the first 100 members
111+ onlineMembers = onlineMembers . slice ( 0 , 100 ) ;
112+ // Create online label text
113+ let container = document . createElement ( 'div' ) ;
114+ container . id = 'onlineUserList' ;
115+ container . classList . add ( 'roleContainer' ) ;
116+ listDiv . appendChild ( container ) ;
117+
118+ let name = document . createElement ( 'span' ) ;
119+ name . classList . add ( 'roleTitle' ) ;
120+ name . innerText = 'online' ;
121+ container . appendChild ( name ) ;
122+
123+ // Show online users
124+ onlineMembers
125+ . sort ( ( m1 , m2 ) => m1 . id - m2 . id )
126+ . forEach ( ( m ) => {
127+ cachedMembers . push ( m . id ) ;
128+
129+ // Create the outer div
130+ let outerDiv = document . createElement ( 'div' ) ;
131+ outerDiv . classList . add ( 'mLOuterDiv' ) ;
132+ container . appendChild ( outerDiv ) ;
133+
134+ // Make the div for the user
135+ let userDiv = document . createElement ( 'div' ) ;
136+ userDiv . id = m . id ;
137+ userDiv . classList . add ( 'mLUserDiv' ) ;
138+ outerDiv . appendChild ( userDiv ) ;
139+
140+ // Add the user icon
141+ let icon = document . createElement ( 'img' ) ;
142+ icon . src = m . displayAvatarURL ( { size : 64 } ) ;
143+ icon . classList . add ( 'mLIcon' ) ;
144+ userDiv . appendChild ( icon ) ;
145+
146+ // Make the username text
147+ let username = document . createElement ( 'p' ) ;
148+ username . classList . add ( 'mLUsername' ) ;
149+ username . innerText = m . nickname || m . user . username ;
150+ username . style . color = m . roles . color ?. hexColor || '#8E9297' ;
151+ userDiv . appendChild ( username ) ;
152+ } ) ;
158153
159154 // Display the offline users
160155 const offlineMembers = guild . members . cache
0 commit comments