mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 11:34:18 +00:00
Don't crash if the same song is played twice
This commit is contained in:
parent
fd89fd6263
commit
019d45456a
2 changed files with 16 additions and 9 deletions
|
@ -1,5 +1,6 @@
|
|||
import typing
|
||||
import pickle
|
||||
import datetime
|
||||
from ..command import Command
|
||||
from ..commandinterface import CommandInterface
|
||||
from ..commandargs import CommandArgs
|
||||
|
@ -15,11 +16,6 @@ if typing.TYPE_CHECKING:
|
|||
class PlayNH(NetworkHandler):
|
||||
message_type = "music_play"
|
||||
|
||||
ytdl_args = {
|
||||
"format": "bestaudio",
|
||||
"outtmpl": f"./downloads/%(title)s.%(ext)s"
|
||||
}
|
||||
|
||||
@classmethod
|
||||
async def discord(cls, bot: "DiscordBot", data: dict):
|
||||
"""Handle a play Royalnet request. That is, add audio to a PlayMode."""
|
||||
|
@ -36,11 +32,16 @@ class PlayNH(NetworkHandler):
|
|||
if not bot.music_data.get(guild):
|
||||
# TODO: change Exception
|
||||
raise Exception("No music_data for this guild")
|
||||
# Create url
|
||||
ytdl_args = {
|
||||
"format": "bestaudio",
|
||||
"outtmpl": f"./downloads/{datetime.datetime.now().timestamp()}_%(title)s.%(ext)s"
|
||||
}
|
||||
# Start downloading
|
||||
if data["url"].startswith("http://") or data["url"].startswith("https://"):
|
||||
dfiles: typing.List[YtdlDiscord] = await asyncify(YtdlDiscord.create_and_ready_from_url, data["url"], **cls.ytdl_args)
|
||||
dfiles: typing.List[YtdlDiscord] = await asyncify(YtdlDiscord.create_and_ready_from_url, data["url"], **ytdl_args)
|
||||
else:
|
||||
dfiles = await asyncify(YtdlDiscord.create_and_ready_from_url, f"ytsearch:{data['url']}", **cls.ytdl_args)
|
||||
dfiles = await asyncify(YtdlDiscord.create_and_ready_from_url, f"ytsearch:{data['url']}", **ytdl_args)
|
||||
await bot.add_to_music_data(dfiles, guild)
|
||||
# Create response dictionary
|
||||
response = {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import typing
|
||||
import discord
|
||||
import asyncio
|
||||
import datetime
|
||||
from ..command import Command
|
||||
from ..commandinterface import CommandInterface
|
||||
from ..commandargs import CommandArgs
|
||||
|
@ -37,13 +38,18 @@ class ZawarudoNH(NetworkHandler):
|
|||
if not bot.music_data.get(guild):
|
||||
# TODO: change Exception
|
||||
raise Exception("No music_data for this guild")
|
||||
# Create url
|
||||
ytdl_args = {
|
||||
"format": "bestaudio",
|
||||
"outtmpl": f"./downloads/{datetime.datetime.now().timestamp()}_%(title)s.%(ext)s"
|
||||
}
|
||||
# Start downloading
|
||||
zw_start: typing.List[YtdlDiscord] = await asyncify(YtdlDiscord.create_and_ready_from_url,
|
||||
"https://scaleway.steffo.eu/jojo/zawarudo_intro.mp3",
|
||||
**cls.ytdl_args)
|
||||
**ytdl_args)
|
||||
zw_end: typing.List[YtdlDiscord] = await asyncify(YtdlDiscord.create_and_ready_from_url,
|
||||
"https://scaleway.steffo.eu/jojo/zawarudo_outro.mp3",
|
||||
**cls.ytdl_args)
|
||||
**ytdl_args)
|
||||
old_playlist = bot.music_data[guild]
|
||||
bot.music_data[guild] = Playlist()
|
||||
# Get voice client
|
||||
|
|
Loading…
Reference in a new issue