Browse Source

Remove async_timeout requirement

It was causing some dependency issues
pull/10109/head
Rapptz 1 year ago
committed by dolfies
parent
commit
8251f8a32a
  1. 20
      discord/voice_state.py
  2. 1
      requirements.txt

20
discord/voice_state.py

@ -45,11 +45,6 @@ import asyncio
import logging
import threading
try:
from asyncio import timeout as atimeout # type: ignore
except ImportError:
from async_timeout import timeout as atimeout # type: ignore
from typing import TYPE_CHECKING, Optional, Dict, List, Callable, Coroutine, Any, Tuple
from .enums import Enum
@ -398,10 +393,7 @@ class VoiceConnectionState:
await self.disconnect()
raise
async def _connect(self, reconnect: bool, timeout: float, self_deaf: bool, self_mute: bool, resume: bool) -> None:
_log.info('Connecting to voice...')
async with atimeout(timeout):
async def _inner_connect(self, reconnect: bool, self_deaf: bool, self_mute: bool, resume: bool) -> None:
for i in range(5):
_log.info('Starting voice handshake... (connection attempt %d)', i + 1)
@ -429,6 +421,13 @@ class VoiceConnectionState:
await self.disconnect()
raise
async def _connect(self, reconnect: bool, timeout: float, self_deaf: bool, self_mute: bool, resume: bool) -> None:
_log.info('Connecting to voice...')
await asyncio.wait_for(
self._inner_connect(reconnect=reconnect, self_deaf=self_deaf, self_mute=self_mute, resume=resume),
timeout=timeout,
)
_log.info('Voice connection complete.')
if not self._runner:
@ -470,8 +469,7 @@ class VoiceConnectionState:
# The new VoiceConnectionState object receives the voice_state_update event containing channel=None while still
# connecting leaving it in a bad state. Since there's no nice way to transfer state to the new one, we have to do this.
try:
async with atimeout(self.timeout):
await self._disconnected.wait()
await asyncio.wait_for(self._disconnected.wait(), timeout=self.timeout)
except TimeoutError:
_log.debug('Timed out waiting for voice disconnection confirmation')
except asyncio.CancelledError:

1
requirements.txt

@ -2,4 +2,3 @@ aiohttp>=3.7.4,<4
tzlocal>=4.0.0,<6
discord_protos<1.0.0
audioop-lts; python_version>='3.13'
async-timeout>=4.0,<5.0; python_version<"3.11"

Loading…
Cancel
Save