@@ -118,39 +118,39 @@ async def _listen(self):
118118 await asyncio .sleep (retry )
119119 if not self .is_connected :
120120 self .bot .loop .create_task (self ._connect ())
121+ else :
122+ self .bot .loop .create_task (self .process_data (data ))
121123
122- continue
123-
124- if data :
125- data = json .loads (data )
124+ async def process_data (self , data : str ):
125+ data = json .loads (data )
126126
127- op = data .get ('op' , None )
128- if not op :
129- continue
127+ op = data .get ('op' , None )
128+ if not op :
129+ return
130130
131- if op == 'stats' :
132- self ._node .stats = Stats (self ._node , data )
133- if op == 'event' :
134- try :
135- data ['player' ] = self ._node .players [int (data ['guildId' ])]
136- except KeyError :
137- continue
131+ if op == 'stats' :
132+ self ._node .stats = Stats (self ._node , data )
133+ if op == 'event' :
134+ try :
135+ data ['player' ] = self ._node .players [int (data ['guildId' ])]
136+ except KeyError :
137+ return
138138
139- event = self ._get_event (data ['type' ], data )
139+ event = self ._get_event (data ['type' ], data )
140140
141- __log__ .debug (f'WEBSOCKET | op: event:: { data } ' )
141+ __log__ .debug (f'WEBSOCKET | op: event:: { data } ' )
142142
143- try :
144- await self ._node .on_event (event )
145- except Exception as e :
146- traceback .print_exception (type (e ), e , e .__traceback__ , file = sys .stderr )
143+ try :
144+ await self ._node .on_event (event )
145+ except Exception as e :
146+ traceback .print_exception (type (e ), e , e .__traceback__ , file = sys .stderr )
147147
148- elif op == 'playerUpdate' :
149- __log__ .debug (f'WEBSOCKET | op: playerUpdate:: { data } ' )
150- try :
151- await self ._node .players [int (data ['guildId' ])].update_state (data )
152- except KeyError :
153- pass
148+ elif op == 'playerUpdate' :
149+ __log__ .debug (f'WEBSOCKET | op: playerUpdate:: { data } ' )
150+ try :
151+ await self ._node .players [int (data ['guildId' ])].update_state (data )
152+ except KeyError :
153+ pass
154154
155155 def _get_event (self , name : str , data ) -> Union [TrackEnd , TrackException , TrackStuck ]:
156156 if name == 'TrackEndEvent' :
0 commit comments