Update Audio to use RLL 0.11.0rc0 (#5631)

* Replace player.manager to player.node

* Try using bot.is_closed instead of get_voice_ws.

* Use Shard.is_closed instead of bot.is_closed.

* Use RLL PR as dep.

* Update audio to use add dep to https://github.com/Cog-Creators/Red-Lavalink/pull/122

* few thing missing

* Missing `player.manager.node` -> `player.node` change

* Update setup.cfg

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
Draper 2022-03-31 10:44:09 +01:00 committed by GitHub
parent 9ec85d4819
commit 511de5163f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 18 additions and 21 deletions

View File

@ -352,7 +352,7 @@ class MixinMeta(ABC):
@abstractmethod @abstractmethod
async def _maybe_update_playlist( async def _maybe_update_playlist(
self, ctx: commands.Context, player: lavalink.player_manager.Player, playlist: "Playlist" self, ctx: commands.Context, player: lavalink.player.Player, playlist: "Playlist"
) -> Tuple[List[lavalink.Track], List[lavalink.Track], "Playlist"]: ) -> Tuple[List[lavalink.Track], List[lavalink.Track], "Playlist"]:
raise NotImplementedError() raise NotImplementedError()
@ -424,7 +424,7 @@ class MixinMeta(ABC):
@abstractmethod @abstractmethod
async def get_localtrack_folder_tracks( async def get_localtrack_folder_tracks(
self, ctx, player: lavalink.player_manager.Player, query: "Query" self, ctx, player: lavalink.player.Player, query: "Query"
) -> List[lavalink.rest_api.Track]: ) -> List[lavalink.rest_api.Track]:
raise NotImplementedError() raise NotImplementedError()
@ -475,7 +475,7 @@ class MixinMeta(ABC):
self, self,
ctx: commands.Context, ctx: commands.Context,
queue: list, queue: list,
player: lavalink.player_manager.Player, player: lavalink.player.Player,
page_num: int, page_num: int,
) -> discord.Embed: ) -> discord.Embed:
raise NotImplementedError() raise NotImplementedError()
@ -500,7 +500,7 @@ class MixinMeta(ABC):
async def fetch_playlist_tracks( async def fetch_playlist_tracks(
self, self,
ctx: commands.Context, ctx: commands.Context,
player: lavalink.player_manager.Player, player: lavalink.player.Player,
query: "Query", query: "Query",
skip_cache: bool = False, skip_cache: bool = False,
) -> Union[discord.Message, None, List[MutableMapping]]: ) -> Union[discord.Message, None, List[MutableMapping]]:
@ -534,7 +534,7 @@ class MixinMeta(ABC):
self, self,
ctx: commands.Context, ctx: commands.Context,
uploaded_track_list, uploaded_track_list,
player: lavalink.player_manager.Player, player: lavalink.player.Player,
playlist_url: str, playlist_url: str,
uploaded_playlist_name: str, uploaded_playlist_name: str,
scope: str, scope: str,

View File

@ -208,7 +208,7 @@ class AudioEvents(MixinMeta, metaclass=CompositeMetaClass):
if notify_channel and has_perms and not player.fetch("autoplay_notified", False): if notify_channel and has_perms and not player.fetch("autoplay_notified", False):
if ( if (
len(player.manager.players) < 10 len(player.node.players) < 10
or not player._last_resume or not player._last_resume
and player._last_resume + datetime.timedelta(seconds=60) and player._last_resume + datetime.timedelta(seconds=60)
> datetime.datetime.now(tz=datetime.timezone.utc) > datetime.datetime.now(tz=datetime.timezone.utc)

View File

@ -7,7 +7,6 @@ from typing import Dict
import discord import discord
import lavalink import lavalink
from discord.backoff import ExponentialBackoff from discord.backoff import ExponentialBackoff
from discord.gateway import DiscordWebSocket
from red_commons.logging import getLogger from red_commons.logging import getLogger
from redbot.core.i18n import Translator, set_contextual_locales_from_guild from redbot.core.i18n import Translator, set_contextual_locales_from_guild
@ -100,7 +99,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
exc_info=exc, exc_info=exc,
) )
return return
if not player.manager.node.ready: if not player.node.ready:
log.debug("Player node is not ready discarding event") log.debug("Player node is not ready discarding event")
log.verbose( log.verbose(
"Received a new discard lavalink event for %s: %s: %r", guild_id, event_type, extra "Received a new discard lavalink event for %s: %s: %r", guild_id, event_type, extra
@ -340,14 +339,13 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
disconnect: bool, disconnect: bool,
) -> None: ) -> None:
guild_id = guild.id guild_id = guild.id
shard = self.bot.shards[guild.shard_id]
event_channel_id = extra.get("channelID") event_channel_id = extra.get("channelID")
try: try:
if not self._ws_resume[guild_id].is_set(): if not self._ws_resume[guild_id].is_set():
await self._ws_resume[guild_id].wait() await self._ws_resume[guild_id].wait()
else: else:
self._ws_resume[guild_id].clear() self._ws_resume[guild_id].clear()
node = player.node
voice_ws: DiscordWebSocket = node.get_voice_ws(guild_id)
code = extra.get("code") code = extra.get("code")
by_remote = extra.get("byRemote", "") by_remote = extra.get("byRemote", "")
reason = extra.get("reason", "No Specified Reason").strip() reason = extra.get("reason", "No Specified Reason").strip()
@ -387,7 +385,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
self._ws_op_codes[guild_id]._init(self._ws_op_codes[guild_id]._maxsize) self._ws_op_codes[guild_id]._init(self._ws_op_codes[guild_id]._maxsize)
return return
if voice_ws.socket._closing or voice_ws.socket.closed or not voice_ws.open: if shard.is_closed():
if player._con_delay: if player._con_delay:
delay = player._con_delay.delay() delay = player._con_delay.delay()
else: else:
@ -399,7 +397,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
"Socket Closed %s. " "Socket Closed %s. "
"Code: %s -- Remote: %s -- %s, %r", "Code: %s -- Remote: %s -- %s, %r",
guild_id, guild_id,
voice_ws.socket._closing or voice_ws.socket.closed, shard.is_closed(),
code, code,
by_remote, by_remote,
reason, reason,
@ -412,8 +410,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
delay, delay,
) )
await asyncio.sleep(delay) await asyncio.sleep(delay)
while voice_ws.socket._closing or voice_ws.socket.closed or not voice_ws.open: while shard.is_closed():
voice_ws = node.get_voice_ws(guild_id)
await asyncio.sleep(0.1) await asyncio.sleep(0.1)
if has_perm and player.current and player.is_playing: if has_perm and player.current and player.is_playing:

View File

@ -106,7 +106,7 @@ class LavalinkTasks(MixinMeta, metaclass=CompositeMetaClass):
bot=self.bot, bot=self.bot,
host=host, host=host,
password=password, password=password,
ws_port=port, port=port,
timeout=timeout, timeout=timeout,
resume_key=f"Red-Core-Audio-{self.bot.user.id}-{data_manager.instance_name}", resume_key=f"Red-Core-Audio-{self.bot.user.id}-{data_manager.instance_name}",
secured=secured, secured=secured,

View File

@ -51,7 +51,7 @@ class LocalTrackUtilities(MixinMeta, metaclass=CompositeMetaClass):
) )
async def get_localtrack_folder_tracks( async def get_localtrack_folder_tracks(
self, ctx, player: lavalink.player_manager.Player, query: Query self, ctx, player: lavalink.player.Player, query: Query
) -> List[lavalink.rest_api.Track]: ) -> List[lavalink.rest_api.Track]:
"""Return a list of tracks per the provided query.""" """Return a list of tracks per the provided query."""
if not await self.localtracks_folder_exists(ctx) or self.api_interface is None: if not await self.localtracks_folder_exists(ctx) or self.api_interface is None:

View File

@ -399,7 +399,7 @@ class PlaylistUtilities(MixinMeta, metaclass=CompositeMetaClass):
self, self,
ctx: commands.Context, ctx: commands.Context,
uploaded_track_list, uploaded_track_list,
player: lavalink.player_manager.Player, player: lavalink.player.Player,
playlist_url: str, playlist_url: str,
uploaded_playlist_name: str, uploaded_playlist_name: str,
scope: str, scope: str,
@ -481,7 +481,7 @@ class PlaylistUtilities(MixinMeta, metaclass=CompositeMetaClass):
await playlist_msg.edit(embed=embed3) await playlist_msg.edit(embed=embed3)
async def _maybe_update_playlist( async def _maybe_update_playlist(
self, ctx: commands.Context, player: lavalink.player_manager.Player, playlist: Playlist self, ctx: commands.Context, player: lavalink.player.Player, playlist: Playlist
) -> Tuple[List[lavalink.Track], List[lavalink.Track], Playlist]: ) -> Tuple[List[lavalink.Track], List[lavalink.Track], Playlist]:
if getattr(playlist, "id", 0) == 42069: if getattr(playlist, "id", 0) == 42069:
_, updated_tracks = await self._get_bundled_playlist_tracks() _, updated_tracks = await self._get_bundled_playlist_tracks()
@ -580,7 +580,7 @@ class PlaylistUtilities(MixinMeta, metaclass=CompositeMetaClass):
async def fetch_playlist_tracks( async def fetch_playlist_tracks(
self, self,
ctx: commands.Context, ctx: commands.Context,
player: lavalink.player_manager.Player, player: lavalink.player.Player,
query: Query, query: Query,
skip_cache: bool = False, skip_cache: bool = False,
) -> Union[discord.Message, None, List[MutableMapping]]: ) -> Union[discord.Message, None, List[MutableMapping]]:

View File

@ -26,7 +26,7 @@ class QueueUtilities(MixinMeta, metaclass=CompositeMetaClass):
self, self,
ctx: commands.Context, ctx: commands.Context,
queue: list, queue: list,
player: lavalink.player_manager.Player, player: lavalink.player.Player,
page_num: int, page_num: int,
) -> discord.Embed: ) -> discord.Embed:
shuffle = await self.config.guild(ctx.guild).shuffle() shuffle = await self.config.guild(ctx.guild).shuffle()

View File

@ -67,7 +67,7 @@ install_requires =
pytz==2021.1 pytz==2021.1
PyYAML==5.4.1 PyYAML==5.4.1
Red-Commons==1.0.0 Red-Commons==1.0.0
Red-Lavalink==0.10.0 Red-Lavalink==0.11.0rc0
rich==10.9.0 rich==10.9.0
schema==0.7.4 schema==0.7.4
six==1.16.0 six==1.16.0