mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-07 11:48:55 -05:00
[Audio] ctx.message.guild -> ctx.guild + store ids rather than whole guild in skip_votes (#4867)
* ctx.invoke -> bot.invoke ctx.message.guild -> ctx.guild * remove the invoke stuff * remove invoke stuff * use id attrib instead of entire guild * change type hinting too * change second typehint
This commit is contained in:
parent
363a2e8a17
commit
6c338f175b
@ -41,7 +41,7 @@ class MixinMeta(ABC):
|
|||||||
db_conn: Optional[APSWConnectionWrapper]
|
db_conn: Optional[APSWConnectionWrapper]
|
||||||
session: aiohttp.ClientSession
|
session: aiohttp.ClientSession
|
||||||
|
|
||||||
skip_votes: MutableMapping[discord.Guild, List[discord.Member]]
|
skip_votes: MutableMapping[int, List[int]]
|
||||||
play_lock: MutableMapping[int, bool]
|
play_lock: MutableMapping[int, bool]
|
||||||
_daily_playlist_cache: MutableMapping[int, bool]
|
_daily_playlist_cache: MutableMapping[int, bool]
|
||||||
_daily_global_playlist_cache: MutableMapping[int, bool]
|
_daily_global_playlist_cache: MutableMapping[int, bool]
|
||||||
|
|||||||
@ -515,14 +515,14 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
"Can't skip to a specific track in vote mode without the DJ role."
|
"Can't skip to a specific track in vote mode without the DJ role."
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
if ctx.author.id in self.skip_votes[ctx.message.guild]:
|
if ctx.author.id in self.skip_votes[ctx.guild.id]:
|
||||||
self.skip_votes[ctx.message.guild].remove(ctx.author.id)
|
self.skip_votes[ctx.guild.id].remove(ctx.author.id)
|
||||||
reply = _("I removed your vote to skip.")
|
reply = _("I removed your vote to skip.")
|
||||||
else:
|
else:
|
||||||
self.skip_votes[ctx.message.guild].append(ctx.author.id)
|
self.skip_votes[ctx.guild.id].append(ctx.author.id)
|
||||||
reply = _("You voted to skip.")
|
reply = _("You voted to skip.")
|
||||||
|
|
||||||
num_votes = len(self.skip_votes[ctx.message.guild])
|
num_votes = len(self.skip_votes[ctx.guild.id])
|
||||||
vote_mods = []
|
vote_mods = []
|
||||||
for member in player.channel.members:
|
for member in player.channel.members:
|
||||||
can_skip = await self._can_instaskip(ctx, member)
|
can_skip = await self._can_instaskip(ctx, member)
|
||||||
@ -532,7 +532,7 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
vote = int(100 * num_votes / num_members)
|
vote = int(100 * num_votes / num_members)
|
||||||
percent = await self.config.guild(ctx.guild).vote_percent()
|
percent = await self.config.guild(ctx.guild).vote_percent()
|
||||||
if vote >= percent:
|
if vote >= percent:
|
||||||
self.skip_votes[ctx.message.guild] = []
|
self.skip_votes[ctx.guild.id] = []
|
||||||
await self.send_embed_msg(ctx, title=_("Vote threshold met."))
|
await self.send_embed_msg(ctx, title=_("Vote threshold met."))
|
||||||
return await self._skip_action(ctx)
|
return await self._skip_action(ctx)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -259,7 +259,7 @@ class DpyEvents(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
await self.cog_ready_event.wait()
|
await self.cog_ready_event.wait()
|
||||||
if after.channel != before.channel:
|
if after.channel != before.channel:
|
||||||
try:
|
try:
|
||||||
self.skip_votes[before.channel.guild].remove(member.id)
|
self.skip_votes[before.channel.guild.id].remove(member.id)
|
||||||
except (ValueError, KeyError, AttributeError):
|
except (ValueError, KeyError, AttributeError):
|
||||||
pass
|
pass
|
||||||
channel = self.rgetattr(member, "voice.channel", None)
|
channel = self.rgetattr(member, "voice.channel", None)
|
||||||
|
|||||||
@ -59,7 +59,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
await self.maybe_reset_error_counter(player)
|
await self.maybe_reset_error_counter(player)
|
||||||
|
|
||||||
if event_type == lavalink.LavalinkEvents.TRACK_START:
|
if event_type == lavalink.LavalinkEvents.TRACK_START:
|
||||||
self.skip_votes[guild] = []
|
self.skip_votes[guild_id] = []
|
||||||
playing_song = player.fetch("playing_song")
|
playing_song = player.fetch("playing_song")
|
||||||
requester = player.fetch("requester")
|
requester = player.fetch("requester")
|
||||||
player.store("prev_song", playing_song)
|
player.store("prev_song", playing_song)
|
||||||
|
|||||||
@ -199,9 +199,9 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
|
|
||||||
def update_player_lock(self, ctx: commands.Context, true_or_false: bool) -> None:
|
def update_player_lock(self, ctx: commands.Context, true_or_false: bool) -> None:
|
||||||
if true_or_false:
|
if true_or_false:
|
||||||
self.play_lock[ctx.message.guild.id] = True
|
self.play_lock[ctx.guild.id] = True
|
||||||
else:
|
else:
|
||||||
self.play_lock[ctx.message.guild.id] = False
|
self.play_lock[ctx.guild.id] = False
|
||||||
|
|
||||||
def _player_check(self, ctx: commands.Context) -> bool:
|
def _player_check(self, ctx: commands.Context) -> bool:
|
||||||
if self.lavalink_connection_aborted:
|
if self.lavalink_connection_aborted:
|
||||||
@ -252,7 +252,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
).format(prefix=ctx.prefix),
|
).format(prefix=ctx.prefix),
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
if self.play_lock[ctx.message.guild.id]:
|
if self.play_lock[ctx.guild.id]:
|
||||||
return await self.send_embed_msg(
|
return await self.send_embed_msg(
|
||||||
ctx,
|
ctx,
|
||||||
title=_("Unable To Get Tracks"),
|
title=_("Unable To Get Tracks"),
|
||||||
@ -361,7 +361,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
) -> Union[discord.Message, List[lavalink.Track], lavalink.Track]:
|
) -> Union[discord.Message, List[lavalink.Track], lavalink.Track]:
|
||||||
player = lavalink.get_player(ctx.guild.id)
|
player = lavalink.get_player(ctx.guild.id)
|
||||||
try:
|
try:
|
||||||
if self.play_lock[ctx.message.guild.id]:
|
if self.play_lock[ctx.guild.id]:
|
||||||
return await self.send_embed_msg(
|
return await self.send_embed_msg(
|
||||||
ctx,
|
ctx,
|
||||||
title=_("Unable To Get Tracks"),
|
title=_("Unable To Get Tracks"),
|
||||||
|
|||||||
@ -564,7 +564,7 @@ class PlaylistUtilities(MixinMeta, metaclass=CompositeMetaClass):
|
|||||||
|
|
||||||
if query.is_spotify:
|
if query.is_spotify:
|
||||||
try:
|
try:
|
||||||
if self.play_lock[ctx.message.guild.id]:
|
if self.play_lock[ctx.guild.id]:
|
||||||
return await self.send_embed_msg(
|
return await self.send_embed_msg(
|
||||||
ctx,
|
ctx,
|
||||||
title=_("Unable To Get Tracks"),
|
title=_("Unable To Get Tracks"),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user