Skip to content

Commit 6c124bf

Browse files
committed
fix await outside async
1 parent 46978ec commit 6c124bf

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

discord/voice/state.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ def ws_hook(self, ws: VoiceWebSocket, msg: dict[str, Any]) -> None:
537537
old_data = self.user_ssrc_map.get(ssrc)
538538
old_speaking = (old_data or {}).get("speaking", SpeakingState.none)
539539

540-
self._dispatch_speaking_state(old_speaking, speaking, user)
540+
self.dispatch_speaking_state(old_speaking, speaking, user)
541541

542542
if old_data is None:
543543
self.user_ssrc_map[ssrc]["speaking"] = speaking
@@ -547,7 +547,14 @@ def ws_hook(self, ws: VoiceWebSocket, msg: dict[str, Any]) -> None:
547547
"speaking": speaking,
548548
}
549549

550-
def _dispatch_speaking_state(
550+
def dispatch_speaking_state(self, before: SpeakingState, after: SpeakingState, user_id: int) -> None:
551+
task = self.loop.create_task(
552+
self._dispatch_speaking_state(before, after, user_id),
553+
)
554+
self.__sink_dispatch_task_set.add(task)
555+
task.add_done_callback(self.__sink_dispatch_task_set.remove)
556+
557+
async def _dispatch_speaking_state(
551558
self, before: SpeakingState, after: SpeakingState, uid: int
552559
) -> None:
553560
resolved = self.get_user(uid)
@@ -560,7 +567,7 @@ def _dispatch_speaking_state(
560567

561568
futures = [
562569
self.loop.create_task(
563-
utils.maybe_coroutine(fil.filter_packet, sink, user, data)
570+
utils.maybe_coroutine(fil.filter_speaking_state, sink, resolved, before, after)
564571
)
565572
for fil in sink._filters
566573
]

0 commit comments

Comments
 (0)