Skip to content
Closed
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a16823b
Update controller.py
BenCos17 May 31, 2024
4e77eb2
Update controller.py
BenCos17 May 31, 2024
bae4e41
fix double code
BenCos17 Jun 1, 2024
1fec6d1
Update controller.py
BenCos17 Jun 1, 2024
31ee06d
Update controller.py
BenCos17 Jun 1, 2024
8917bea
Revert "Update controller.py"
BenCos17 Jun 1, 2024
b1669ee
Merge pull request #2 from Cog-Creators/V3/develop
BenCos17 Aug 1, 2024
7633be1
Merge branch 'Cog-Creators:V3/develop' into V3/develop
BenCos17 Aug 7, 2024
11a3818
Merge branch 'V3/develop' into V3/develop
BenCos17 Aug 7, 2024
bd94693
Update controller.py
BenCos17 Aug 7, 2024
cb4eed9
add black formatting
BenCos17 Aug 7, 2024
9fc9750
Merge branch 'V3/develop' into V3/develop
BenCos17 Aug 8, 2024
15567d6
Merge branch 'V3/develop' into V3/develop
BenCos17 Aug 26, 2024
d794bf1
Merge branch 'V3/develop' into V3/develop
BenCos17 Aug 27, 2024
f5929c4
Merge branch 'V3/develop' into V3/develop
BenCos17 Sep 12, 2024
8b5ae44
Merge branch 'V3/develop' into V3/develop
BenCos17 Sep 30, 2024
1beed32
Merge branch 'Cog-Creators:V3/develop' into V3/develop
BenCos17 Oct 28, 2024
496e58d
Merge branch 'V3/develop' into V3/develop
BenCos17 Nov 6, 2024
b331f22
Merge branch 'V3/develop' into V3/develop
BenCos17 Nov 20, 2024
b5c9d23
Merge branch 'Cog-Creators:V3/develop' into V3/develop
BenCos17 Jan 3, 2025
646967a
Merge pull request #4 from Cog-Creators/V3/develop
BenCos17 Mar 7, 2025
1a40ba4
Merge pull request # 5 from Cog-Creators /V 3/ develop
BenCos17 Apr 23, 2025
3567688
Merge pull request #6 from Cog-Creators/V3/develop
BenCos17 May 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 31 additions & 2 deletions redbot/cogs/audio/core/commands/controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,44 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass):
@commands.bot_has_permissions(embed_links=True)
async def command_disconnect(self, ctx: commands.Context):
"""Disconnect from the voice channel."""

player = lavalink.get_player(ctx.guild.id)

# Check if the voice channel is empty except for the bot.
if ctx.guild.me.voice and len(ctx.guild.me.voice.channel.members) == 1:
await self.send_embed_msg(ctx, title=_("Disconnecting..."))
self.bot.dispatch("red_audio_audio_disconnect", ctx.guild)
self.update_player_lock(ctx, False)
eq = player.fetch("eq")
player.queue = []
player.store("playing_song", None)
player.store("autoplay_notified", False)
if eq:
await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands)
await player.stop()
await player.disconnect()
await self.config.guild_from_id(guild_id=ctx.guild.id).currently_auto_playing_in.set(
[]
)
self._ll_guild_updates.discard(ctx.guild.id)
await self.api_interface.persistent_queue_api.drop(ctx.guild.id)
return await self.send_embed_msg(
ctx, title=_("Disconnected from empty voice channel.")
)

# Check if the user is in a voice channel or if the voice channel is empty except for the bot.
if ctx.author.voice is None and not (
ctx.guild.me.voice and len(ctx.guild.me.voice.channel.members) == 1
):
return await self.send_embed_msg(ctx, title=_("You are not in a voice channel!"))

if not self._player_check(ctx):
return await self.send_embed_msg(ctx, title=_("Nothing playing."))
else:
dj_enabled = self._dj_status_cache.setdefault(
ctx.guild.id, await self.config.guild(ctx.guild).dj_enabled()
)
vote_enabled = await self.config.guild(ctx.guild).vote_enabled()
player = lavalink.get_player(ctx.guild.id)
can_skip = await self._can_instaskip(ctx, ctx.author)
if (
(vote_enabled or (vote_enabled and dj_enabled))
Expand All @@ -61,7 +91,6 @@ async def command_disconnect(self, ctx: commands.Context):
title=_("Unable to Disconnect"),
description=_("You need the DJ role to disconnect."),
)

await self.send_embed_msg(ctx, title=_("Disconnecting..."))
self.bot.dispatch("red_audio_audio_disconnect", ctx.guild)
self.update_player_lock(ctx, False)
Expand Down