[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:
Jamie 2021-04-03 23:01:10 +01:00 committed by GitHub
parent 363a2e8a17
commit 6c338f175b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 13 additions and 13 deletions

View File

@ -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]

View File

@ -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:

View File

@ -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)

View File

@ -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)

View File

@ -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"),

View File

@ -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"),