Browse Source

Fix call ringing

pull/10109/head
dolfies 6 months ago
parent
commit
9853b13ccb
  1. 20
      discord/channel.py
  2. 3
      discord/user.py

20
discord/channel.py

@ -3593,13 +3593,15 @@ class DMChannel(discord.abc.Messageable, discord.abc.Connectable, discord.abc.Pr
return self
async def _initial_ring(self) -> None:
ring = self.recipient.is_friend()
if not ring:
data = await self._state.http.get_ringability(self.id)
ring = data['ringable']
call = self.call
if not call or (call.connected and len(call.voice_states) == 1):
ring = self.recipient.is_friend()
if not ring:
data = await self._state.http.get_ringability(self.id)
ring = data['ringable']
if ring:
await self._state.http.ring(self.id)
if ring:
await self._state.http.ring(self.id)
def __str__(self) -> str:
if self.recipient:
@ -3900,8 +3902,7 @@ class DMChannel(discord.abc.Messageable, discord.abc.Connectable, discord.abc.Pr
await self._get_channel()
ret = await super().connect(timeout=timeout, reconnect=reconnect, cls=cls)
call = self.call
if call is None and ring:
if ring:
await self._initial_ring()
return ret
@ -4473,8 +4474,7 @@ class GroupChannel(discord.abc.Messageable, discord.abc.Connectable, discord.abc
await self._get_channel()
ret = await super().connect(timeout=timeout, reconnect=reconnect, cls=cls)
call = self.call
if call is None and ring:
if ring:
await self._initial_ring()
return ret

3
discord/user.py

@ -1144,8 +1144,7 @@ class User(BaseUser, discord.abc.Connectable, discord.abc.Messageable):
channel = await self._get_channel()
ret = await super().connect(timeout=timeout, reconnect=reconnect, cls=cls, _channel=channel)
call = channel.call
if call is None and ring:
if ring:
await channel._initial_ring()
return ret

Loading…
Cancel
Save