diff --git a/bot.py b/bot.py index 7a6c1c0..112cf23 100644 --- a/bot.py +++ b/bot.py @@ -97,9 +97,11 @@ async def on_ready(self): self.logger.debug("Bot Ready") self.session = aiohttp.ClientSession(loop=self.loop) - await self.change_presence(activity=discord.Game(type=0, - name=conf["bot"]["playing status"]), - status=discord.Status.online) + + if presence := conf["bot"]["playing status"]: + await self.change_presence(activity=discord.Game(type=0, + name=presence), + status=discord.Status.online) def run(self): try: diff --git a/musicbot/cogs/music/__init__.py b/musicbot/cogs/music/__init__.py index ece32e3..8d93997 100644 --- a/musicbot/cogs/music/__init__.py +++ b/musicbot/cogs/music/__init__.py @@ -17,7 +17,7 @@ TrackStartEvent, TrackStuckEvent, ) -from lavalink.models import AudioTrack +from lavalink import AudioTrack from bs4 import BeautifulSoup diff --git a/musicbot/utils/mixplayer/mixqueue.py b/musicbot/utils/mixplayer/mixqueue.py index 3e9b3cc..3609f30 100644 --- a/musicbot/utils/mixplayer/mixqueue.py +++ b/musicbot/utils/mixplayer/mixqueue.py @@ -4,7 +4,7 @@ from random import shuffle from typing import Generic, Iterable, Iterator, List, Optional, Tuple, TypeVar -from lavalink.models import AudioTrack +from lavalink import AudioTrack # Would like to ensure the T has a "requester" attribute, but don't know if that is possible T = TypeVar('T', bound=AudioTrack) diff --git a/musicbot/utils/mixplayer/player.py b/musicbot/utils/mixplayer/player.py index 5cef617..9fbe86a 100644 --- a/musicbot/utils/mixplayer/player.py +++ b/musicbot/utils/mixplayer/player.py @@ -123,7 +123,7 @@ async def play(self, track: Optional[AudioTrack] = None, start_time: int = 0): await self.bassboost(False) await self.nightcoreify(False) await self.stop() - await self.node._dispatch_event(QueueEndEvent(self)) + await self.client._dispatch_event(QueueEndEvent(self)) return else: # At this point track will not be None, as the queue is not empty @@ -133,9 +133,9 @@ async def play(self, track: Optional[AudioTrack] = None, start_time: int = 0): if track is None or track.track is None: # Ignore, if the queue was empty we would have dispatched the event already return - await self.node._send(op='play', guildId=str(self.guild_id), - track=track.track, startTime=start_time) - await self.node._dispatch_event(TrackStartEvent(self, track)) + await self.play_track(track, start_time) + + await self.client._dispatch_event(TrackStartEvent(self, track)) self.logger.info(f"Playing track: {track.title}") async def skip(self, pos: int = 0): @@ -149,7 +149,8 @@ async def skip(self, pos: int = 0): async def stop(self): """Stops the player.""" - await self.node._send(op='stop', guildId=str(self.guild_id)) + # await self.node._send(op='stop', guildId=str(self.guild_id)) + await super().stop() self.current = None self.queue.enable_looping(False) self.logger.info("Music player stopped, clearing current track and stopping looping") diff --git a/requirements.txt b/requirements.txt index 86bc6dd..a285722 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ discord.py == 2.3.* -lavalink == 4.0.* +lavalink == 5.3.* asyncio pyyaml BeautifulSoup4