From 41e2d3c6370e2e5101245d9884094e314cb92182 Mon Sep 17 00:00:00 2001
From: Josh <josh.ja.butt@gmail.com>
Date: Thu, 29 Jul 2021 09:58:01 +1000
Subject: [PATCH] Allow callables in abc.Connectable.Connect
---
discord/abc.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/discord/abc.py b/discord/abc.py
index ffaa5feb2..895083fd3 100644
--- a/discord/abc.py
+++ b/discord/abc.py
@@ -28,6 +28,7 @@ import copy
import asyncio
from typing import (
Any,
+ Callable,
Dict,
List,
Mapping,
@@ -68,6 +69,7 @@ T = TypeVar('T', bound=VoiceProtocol)
if TYPE_CHECKING:
from datetime import datetime
+ from .client import Client
from .user import ClientUser
from .asset import Asset
from .state import ConnectionState
@@ -1611,7 +1613,13 @@ class Connectable(Protocol):
def _get_voice_state_pair(self) -> Tuple[int, int]:
raise NotImplementedError
- async def connect(self, *, timeout: float = 60.0, reconnect: bool = True, cls: Type[T] = VoiceClient) -> T:
+ async def connect(
+ self,
+ *,
+ timeout: float = 60.0,
+ reconnect: bool = True,
+ cls: Callable[[Client, Connectable], T] = VoiceClient,
+ ) -> T:
"""|coro|
Connects to voice and creates a :class:`VoiceClient` to establish