fix(commands/voice): handle edge case where player dies
This commit is contained in:
parent
642d4aef81
commit
409373ee27
@ -1,11 +1,10 @@
|
|||||||
import math
|
import math
|
||||||
|
|
||||||
import arguments
|
import arguments
|
||||||
import youtubedl
|
|
||||||
from state import client, players
|
|
||||||
|
|
||||||
import commands
|
import commands
|
||||||
import utils
|
import utils
|
||||||
|
import youtubedl
|
||||||
|
from state import client, players
|
||||||
|
|
||||||
|
|
||||||
async def queue_or_play(message):
|
async def queue_or_play(message):
|
||||||
@ -213,6 +212,11 @@ async def skip(message):
|
|||||||
else:
|
else:
|
||||||
message.guild.voice_client.stop()
|
message.guild.voice_client.stop()
|
||||||
await utils.add_check_reaction(message)
|
await utils.add_check_reaction(message)
|
||||||
|
if (
|
||||||
|
not message.guild.voice_client.is_playing()
|
||||||
|
and not message.guild.voice_client.is_paused()
|
||||||
|
):
|
||||||
|
play_next(message)
|
||||||
|
|
||||||
|
|
||||||
async def join(message):
|
async def join(message):
|
||||||
@ -303,9 +307,15 @@ def play_next(message, once=False):
|
|||||||
message.guild.voice_client.stop()
|
message.guild.voice_client.stop()
|
||||||
if players[message.guild.id].queue:
|
if players[message.guild.id].queue:
|
||||||
queued = players[message.guild.id].queue_pop()
|
queued = players[message.guild.id].queue_pop()
|
||||||
message.guild.voice_client.play(
|
try:
|
||||||
queued.player, after=lambda e: play_after_callback(e, message, once)
|
message.guild.voice_client.play(
|
||||||
)
|
queued.player, after=lambda e: play_after_callback(e, message, once)
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
client.loop.create_task(
|
||||||
|
message.channel.send(f"error while trying to play: `{e}`")
|
||||||
|
)
|
||||||
|
return
|
||||||
client.loop.create_task(message.channel.send(f"**0.** {queued.format()}"))
|
client.loop.create_task(message.channel.send(f"**0.** {queued.format()}"))
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user