mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
Also: - restart and reconnect if connection settings change - shutdown and restart if not configured to use external - show a message in [p]play et al. when the connection hasn't been made - move the JAR download to manager so audio.py can access it - only start if no process exists - bump red-lavalink to 0.2.3 Resolves #2306
32 lines
928 B
Python
32 lines
928 B
Python
from pathlib import Path
|
|
import logging
|
|
|
|
from .audio import Audio
|
|
from .manager import start_lavalink_server, maybe_download_lavalink
|
|
from redbot.core import commands
|
|
from redbot.core.data_manager import cog_data_path
|
|
import redbot.core
|
|
|
|
log = logging.getLogger("red.audio")
|
|
|
|
LAVALINK_DOWNLOAD_URL = (
|
|
"https://github.com/Cog-Creators/Red-DiscordBot/releases/download/{}/Lavalink.jar"
|
|
).format(redbot.core.__version__)
|
|
|
|
LAVALINK_DOWNLOAD_DIR = cog_data_path(raw_name="Audio")
|
|
LAVALINK_JAR_FILE = LAVALINK_DOWNLOAD_DIR / "Lavalink.jar"
|
|
|
|
APP_YML_FILE = LAVALINK_DOWNLOAD_DIR / "application.yml"
|
|
BUNDLED_APP_YML_FILE = Path(__file__).parent / "data/application.yml"
|
|
|
|
|
|
async def setup(bot: commands.Bot):
|
|
cog = Audio(bot)
|
|
if not await cog.config.use_external_lavalink():
|
|
await maybe_download_lavalink(bot.loop, cog)
|
|
await start_lavalink_server(bot.loop)
|
|
|
|
await cog.initialize()
|
|
|
|
bot.add_cog(cog)
|