Add try/except

This commit is contained in:
ekzyis 2021-09-26 01:43:49 +02:00
parent d363960426
commit abe268391f
1 changed files with 19 additions and 11 deletions

View File

@ -9,7 +9,7 @@ from dotenv import load_dotenv
import youtube_dl
from error import ErrorHandler
from message import NowPlayingMessage, QueuedMessage
from message import NowPlayingMessage, QueuedMessage, ErrorMessage
load_dotenv()
@ -57,19 +57,27 @@ class Music(commands.Cog):
@tasks.loop()
async def _handle_playback(self):
while True:
await self._queue_lock.acquire()
ctx, song = await self._queue.get()
audio = discord.FFmpegPCMAudio(song.audio_url, **self._ffmpeg_options)
try:
await self._queue_lock.acquire()
ctx, song = await self._queue.get()
audio = discord.FFmpegPCMAudio(song.audio_url, **self._ffmpeg_options)
def after(err):
if err:
print(f"Player error: {err}")
def after(err):
if err:
print(f"Player error: {err}")
self._queue.task_done()
self._queue_lock.release()
ctx.voice_client.play(audio, after=after)
embed = NowPlayingMessage(title=song.title, url=song.webpage_url)
await ctx.send(embed=embed)
# pylint: disable=broad-except
except Exception as err:
print(f"Error during playback: {err}")
if ctx:
embed = ErrorMessage(str(err))
await ctx.send(embed=embed)
self._queue.task_done()
self._queue_lock.release()
ctx.voice_client.play(audio, after=after)
embed = NowPlayingMessage(title=song.title, url=song.webpage_url)
await ctx.send(embed=embed)
@_handle_playback.before_loop
async def before_handle_playback(self):