@@ -21,27 +21,27 @@ func singlePresenceUpdate(client WSClient, message string) (*LanyardData, error)
2121
2222func multiplePresenceUpdate (client WSClient , message string ) ([]* LanyardData , error ) {
2323 var data map [string ]json.RawMessage
24- err := json .Unmarshal ([]byte (message ), & data )
25- if err != nil {
26- return []* LanyardData {}, err
27- }
24+ err := json .Unmarshal ([]byte (message ), & data )
25+ if err != nil {
26+ return []* LanyardData {}, err
27+ }
28+
29+ var userMap map [string ]json.RawMessage
30+ err = json .Unmarshal ([]byte (data ["d" ]), & userMap )
31+ if err != nil {
32+ return []* LanyardData {}, err
33+ }
2834
29- var userMap map [string ]json.RawMessage
30- err = json .Unmarshal ([]byte (data ["d" ]), & userMap )
35+ var userDatas []* LanyardData
36+ for _ , item := range userMap {
37+ var userData * LanyardData
38+ err := json .Unmarshal (item , & userData )
3139 if err != nil {
3240 return []* LanyardData {}, err
3341 }
3442
35- var userDatas []* LanyardData
36- for _ , item := range userMap {
37- var userData * LanyardData
38- err := json .Unmarshal (item , & userData )
39- if err != nil {
40- return []* LanyardData {}, err
41- }
42-
43- userDatas = append (userDatas , userData )
44- }
43+ userDatas = append (userDatas , userData )
44+ }
4545
4646 return userDatas , nil
4747}
0 commit comments