Add try/except
This commit is contained in:
		
							parent
							
								
									d363960426
								
							
						
					
					
						commit
						abe268391f
					
				
							
								
								
									
										30
									
								
								src/bot.py
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								src/bot.py
									
									
									
									
									
								
							| @ -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): | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user