Bump RLL and improve logging (#5044)

* version bump

* - bump RLL
- logging changes
- player.channel.guild->player.guild
- small cleanup around logging changes

* missed one

* here this one too

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* add one missing player log

* missed one

* Format with Black

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
Draper
2021-05-18 23:56:10 +01:00
committed by GitHub
parent c9431f7d90
commit 38da7370ec
19 changed files with 164 additions and 148 deletions

View File

@@ -289,7 +289,7 @@ class PlayerControllerCommands(MixinMeta, metaclass=CompositeMetaClass):
}
)
player.add(player.fetch("prev_requester"), track)
self.bot.dispatch("red_audio_track_enqueue", player.channel.guild, track, ctx.author)
self.bot.dispatch("red_audio_track_enqueue", player.guild, track, ctx.author)
queue_len = len(player.queue)
bump_song = player.queue[-1]
player.queue.insert(0, bump_song)

View File

@@ -59,10 +59,10 @@ class MiscellaneousCommands(MixinMeta, metaclass=CompositeMetaClass):
current_title = await self.get_track_description(
p.current, self.local_folder_current_path
)
msg += "{} [`{}`]: {}\n".format(p.channel.guild.name, connect_dur, current_title)
msg += "{} [`{}`]: {}\n".format(p.guild.name, connect_dur, current_title)
except AttributeError:
msg += "{} [`{}`]: **{}**\n".format(
p.channel.guild.name, connect_dur, _("Nothing playing.")
p.guild.name, connect_dur, _("Nothing playing.")
)
if total_num == 0:

View File

@@ -294,7 +294,7 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass):
query_obj=query,
):
if IS_DEBUG:
log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})")
log.debug("Query is not allowed in %r (%d)", ctx.guild.name, ctx.guild.id)
self.update_player_lock(ctx, False)
return await self.send_embed_msg(
ctx,
@@ -314,7 +314,7 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass):
player.queue.insert(0, single_track)
player.maybe_shuffle()
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, single_track, ctx.author
"red_audio_track_enqueue", player.guild, single_track, ctx.author
)
else:
self.update_player_lock(ctx, False)
@@ -336,9 +336,7 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass):
)
player.queue.insert(0, single_track)
player.maybe_shuffle()
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, single_track, ctx.author
)
self.bot.dispatch("red_audio_track_enqueue", player.guild, single_track, ctx.author)
description = await self.get_track_description(
single_track, self.local_folder_current_path
)
@@ -838,7 +836,9 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass):
query_obj=query,
):
if IS_DEBUG:
log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})")
log.debug(
"Query is not allowed in %r (%d)", ctx.guild.name, ctx.guild.id
)
continue
elif guild_data["maxlength"] > 0:
if self.is_track_length_allowed(track, guild_data["maxlength"]):
@@ -852,7 +852,7 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass):
)
player.add(ctx.author, track)
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, track, ctx.author
"red_audio_track_enqueue", player.guild, track, ctx.author
)
else:
track_len += 1
@@ -865,7 +865,7 @@ class PlayerCommands(MixinMeta, metaclass=CompositeMetaClass):
)
player.add(ctx.author, track)
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, track, ctx.author
"red_audio_track_enqueue", player.guild, track, ctx.author
)
if not player.current:
await player.play()

View File

@@ -1525,7 +1525,9 @@ class PlaylistCommands(MixinMeta, metaclass=CompositeMetaClass):
query_obj=query,
):
if IS_DEBUG:
log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})")
log.debug(
"Query is not allowed in %r (%d)", ctx.guild.name, ctx.guild.id
)
continue
query = Query.process_input(track.uri, self.local_folder_current_path)
if query.is_local:
@@ -1544,9 +1546,7 @@ class PlaylistCommands(MixinMeta, metaclass=CompositeMetaClass):
}
)
player.add(author_obj, track)
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, track, ctx.author
)
self.bot.dispatch("red_audio_track_enqueue", player.guild, track, ctx.author)
track_len += 1
player.maybe_shuffle(0 if empty_queue else 1)
if len(tracks) > track_len:

View File

@@ -124,7 +124,7 @@ class AudioEvents(MixinMeta, metaclass=CompositeMetaClass):
bot=self.bot,
)
except Exception as err:
debug_exc_log(log, err, f"Failed to delete daily playlist ID: {too_old_id}")
debug_exc_log(log, err, "Failed to delete daily playlist ID: %d", too_old_id)
try:
await delete_playlist(
scope=PlaylistScope.GLOBAL.value,
@@ -135,7 +135,9 @@ class AudioEvents(MixinMeta, metaclass=CompositeMetaClass):
bot=self.bot,
)
except Exception as err:
debug_exc_log(log, err, f"Failed to delete global daily playlist ID: {too_old_id}")
debug_exc_log(
log, err, "Failed to delete global daily playlist ID: %d", too_old_id
)
persist_cache = self._persist_queue_cache.setdefault(
guild.id, await self.config.guild(guild).persist_queue()
)

View File

@@ -263,20 +263,6 @@ class DpyEvents(MixinMeta, metaclass=CompositeMetaClass):
except (ValueError, KeyError, AttributeError):
pass
# if (
# member == member.guild.me
# and before.channel
# and after.channel
# and after.channel.id != before.channel.id
# ):
# try:
# player = lavalink.get_player(member.guild.id)
# if player.is_playing:
# await player.resume(player.current, start=player.position, replace=False)
# log.debug("Bot changed channel - Resume playback")
# except:
# log.debug("Bot changed channel - Unable to resume playback")
channel = self.rgetattr(member, "voice.channel", None)
bot_voice_state = self.rgetattr(member, "guild.me.voice.self_deaf", None)
if (

View File

@@ -17,7 +17,6 @@ from ..cog_utils import CompositeMetaClass
log = logging.getLogger("red.cogs.Audio.cog.Events.lavalink")
ws_audio_log = logging.getLogger("red.Audio.WS.Audio")
ws_audio_log.setLevel(logging.WARNING)
_ = Translator("Audio", Path(__file__))
@@ -76,9 +75,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
guild=guild, player=player, extra=extra, deafen=deafen, disconnect=disconnect
)
except Exception:
log.exception(
f"Error in WEBSOCKET_CLOSED handling for guild: {player.channel.guild.id}"
)
log.exception("Error in WEBSOCKET_CLOSED handling for guild: %s", player.guild.id)
return
await set_contextual_locales_from_guild(self.bot, guild)
@@ -95,7 +92,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
current_track, self.local_folder_current_path
)
status = await self.config.status()
log.debug(f"Received a new lavalink event for {guild_id}: {event_type}: {extra}")
log.debug("Received a new lavalink event for %d: %s: %r", guild_id, event_type, extra)
prev_song: lavalink.Track = player.fetch("prev_song")
await self.maybe_reset_error_counter(player)
@@ -320,14 +317,17 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
code = 4014
if event_channel_id != channel_id:
ws_audio_log.info(
f"Received an op code for a channel that is no longer valid; {event_channel_id} "
f"in guild: {guild_id} - Active channel {channel_id} | "
f"Reason: Error code {code} & {reason}."
"Received an op code for a channel that is no longer valid; %d "
"Reason: Error code %d & %s, %r",
event_channel_id,
code,
reason,
player,
)
self._ws_op_codes[guild_id]._init(self._ws_op_codes[guild_id]._maxsize)
return
if player.channel:
current_perms = player.channel.permissions_for(player.channel.guild.me)
current_perms = player.channel.permissions_for(player.guild.me)
has_perm = current_perms.speak and current_perms.connect
else:
has_perm = False
@@ -335,8 +335,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
player.store("resumes", player.fetch("resumes", 0) + 1)
await player.resume(player.current, start=player.position, replace=True)
ws_audio_log.info(
f"Player resumed in channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & {reason}."
"Player resumed | Reason: Error code %d & %s, %r", code, reason, player
)
self._ws_op_codes[guild_id]._init(self._ws_op_codes[guild_id]._maxsize)
return
@@ -349,12 +348,21 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
delay = player._con_delay.delay()
ws_audio_log.warning(
"YOU CAN IGNORE THIS UNLESS IT'S CONSISTENTLY REPEATING FOR THE SAME GUILD - "
f"Voice websocket closed for guild {guild_id} -> "
f"Socket Closed {voice_ws.socket._closing or voice_ws.socket.closed}. "
f"Code: {code} -- Remote: {by_remote} -- {reason}"
"Voice websocket closed for guild %d -> "
"Socket Closed %s. "
"Code: %d -- Remote: %s -- %s, %r",
guild_id,
voice_ws.socket._closing or voice_ws.socket.closed,
code,
by_remote,
reason,
player,
)
ws_audio_log.debug(
f"Reconnecting to channel {channel_id} in guild: {guild_id} | {delay:.2f}s"
"Reconnecting to channel %d in guild: %d | %.2fs",
channel_id,
guild_id,
delay,
)
await asyncio.sleep(delay)
while voice_ws.socket._closing or voice_ws.socket.closed or not voice_ws.open:
@@ -367,8 +375,9 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
await player.resume(player.current, start=player.position, replace=True)
ws_audio_log.info(
"Voice websocket reconnected "
f"to channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Currently playing."
"Reason: Error code %d & Currently playing, %r",
code,
player,
)
elif has_perm and player.paused and player.current:
player.store("resumes", player.fetch("resumes", 0) + 1)
@@ -378,24 +387,27 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
)
ws_audio_log.info(
"Voice websocket reconnected "
f"to channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Currently Paused."
"Reason: Error code %d & Currently Paused, %r",
code,
player,
)
elif has_perm and (not disconnect) and (not player.is_playing):
player.store("resumes", player.fetch("resumes", 0) + 1)
await player.connect(deafen=deafen)
ws_audio_log.info(
"Voice websocket reconnected "
f"to channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Not playing, but auto disconnect disabled."
"Reason: Error code %d & Not playing, but auto disconnect disabled, %r",
code,
player,
)
self._ll_guild_updates.discard(guild_id)
elif not has_perm:
self.bot.dispatch("red_audio_audio_disconnect", guild)
ws_audio_log.info(
"Voice websocket disconnected "
f"from channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Missing permissions."
"Reason: Error code %d & Missing permissions, %r",
code,
player,
)
self._ll_guild_updates.discard(guild_id)
player.store("autoplay_notified", False)
@@ -407,9 +419,9 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
else:
self.bot.dispatch("red_audio_audio_disconnect", guild)
ws_audio_log.info(
"Voice websocket disconnected "
f"from channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Unknown."
"Voice websocket disconnected Reason: Error code %d & Unknown, %r",
code,
player,
)
self._ll_guild_updates.discard(guild_id)
player.store("autoplay_notified", False)
@@ -423,8 +435,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
await player.connect(deafen=deafen)
await player.resume(player.current, start=player.position, replace=True)
ws_audio_log.info(
f"Player resumed in channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & {reason}."
"Player resumed - Reason: Error code %d & %s, %r", code, reason, player
)
elif code in (4015, 4009, 4006, 4000, 1006):
if player._con_delay:
@@ -433,7 +444,7 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
player._con_delay = ExponentialBackoff(base=1)
delay = player._con_delay.delay()
ws_audio_log.debug(
f"Reconnecting to channel {channel_id} in guild: {guild_id} | {delay:.2f}s"
"Reconnecting to channel %d in guild: %d | %.2fs", channel_id, guild_id, delay
)
await asyncio.sleep(delay)
if has_perm and player.current and player.is_playing:
@@ -441,8 +452,9 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
await player.resume(player.current, start=player.position, replace=True)
ws_audio_log.info(
"Voice websocket reconnected "
f"to channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Player is active."
"Reason: Error code %d & Player is active, %r",
code,
player,
)
elif has_perm and player.paused and player.current:
player.store("resumes", player.fetch("resumes", 0) + 1)
@@ -452,24 +464,30 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
)
ws_audio_log.info(
"Voice websocket reconnected "
f"to channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Player is paused."
"Reason: Error code %d & Player is paused, %r",
code,
player,
)
elif has_perm and (not disconnect) and (not player.is_playing):
player.store("resumes", player.fetch("resumes", 0) + 1)
await player.connect(deafen=deafen)
ws_audio_log.info(
"Voice websocket reconnected "
f"to channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Not playing."
"to channel %d in guild: %d | "
"Reason: Error code %d & Not playing, %r",
channel_id,
guild_id,
code,
player,
)
self._ll_guild_updates.discard(guild_id)
elif not has_perm:
self.bot.dispatch("red_audio_audio_disconnect", guild)
ws_audio_log.info(
"Voice websocket disconnected "
f"from channel {channel_id} in guild: {guild_id} | "
f"Reason: Error code {code} & Missing permissions."
"Reason: Error code %d & Missing permissions, %r",
code,
player,
)
self._ll_guild_updates.discard(guild_id)
player.store("autoplay_notified", False)
@@ -484,8 +502,12 @@ class LavalinkEvents(MixinMeta, metaclass=CompositeMetaClass):
await player.resume(player.current, start=player.position, replace=False)
ws_audio_log.info(
"WS EVENT - IGNORED (Healthy Socket) | "
f"Voice websocket closed event for guild {guild_id} -> "
f"Code: {code} -- Remote: {by_remote} -- {reason}"
"Voice websocket closed event "
"Code: %d -- Remote: %s -- %s, %r",
code,
by_remote,
reason,
player,
)
except Exception:
log.exception("Error in task")

View File

@@ -24,7 +24,7 @@ class PlayerTasks(MixinMeta, metaclass=CompositeMetaClass):
pause_times: Dict = {}
while True:
async for p in AsyncIter(lavalink.all_players()):
server = p.channel.guild
server = p.guild
if await self.bot.cog_disabled_in_guild(self, server):
continue
@@ -37,11 +37,7 @@ class PlayerTasks(MixinMeta, metaclass=CompositeMetaClass):
try:
await p.pause(False)
except Exception as err:
debug_exc_log(
log,
err,
f"Exception raised in Audio's unpausing player for {server.id}.",
)
debug_exc_log(log, err, "Exception raised in Audio's unpausing %r.", p)
pause_times.pop(server.id, None)
servers = stop_times.copy()
servers.update(pause_times)
@@ -61,7 +57,7 @@ class PlayerTasks(MixinMeta, metaclass=CompositeMetaClass):
).currently_auto_playing_in.set([])
except Exception as err:
debug_exc_log(
log, err, f"Exception raised in Audio's emptydc_timer for {sid}."
log, err, "Exception raised in Audio's emptydc_timer for %s.", sid
)
elif sid in stop_times and await self.config.guild(server_obj).emptydc_enabled():
@@ -81,7 +77,7 @@ class PlayerTasks(MixinMeta, metaclass=CompositeMetaClass):
if "No such player for that guild" in str(err):
stop_times.pop(sid, None)
debug_exc_log(
log, err, f"Exception raised in Audio's emptydc_timer for {sid}."
log, err, "Exception raised in Audio's emptydc_timer for %s.", sid
)
elif (
sid in pause_times and await self.config.guild(server_obj).emptypause_enabled()
@@ -94,6 +90,6 @@ class PlayerTasks(MixinMeta, metaclass=CompositeMetaClass):
if "No such player for that guild" in str(err):
pause_times.pop(sid, None)
debug_exc_log(
log, err, f"Exception raised in Audio's pausing for {sid}."
log, err, "Exception raised in Audio's pausing for %s.", sid
)
await asyncio.sleep(5)

View File

@@ -31,6 +31,7 @@ class StartUpTasks(MixinMeta, metaclass=CompositeMetaClass):
# There has to be a task since this requires the bot to be ready
# If it waits for ready in startup, we cause a deadlock during initial load
# as initial load happens before the bot can ever be ready.
lavalink.set_logging_level(self.bot._cli_flags.logging_level)
self.cog_init_task = self.bot.loop.create_task(self.initialize())
self.cog_init_task.add_done_callback(task_callback)
@@ -139,7 +140,9 @@ class StartUpTasks(MixinMeta, metaclass=CompositeMetaClass):
tries += 1
except Exception as exc:
tries += 1
debug_exc_log(log, exc, "Failed to restore music voice channel")
debug_exc_log(
log, exc, "Failed to restore music voice channel %s", vc_id
)
if vc is None:
break
else:
@@ -160,8 +163,9 @@ class StartUpTasks(MixinMeta, metaclass=CompositeMetaClass):
player.maybe_shuffle()
if not player.is_playing:
await player.play()
log.info("Restored %r", player)
except Exception as err:
debug_exc_log(log, err, f"Error restoring player in {guild_id}")
debug_exc_log(log, err, "Error restoring player in %d", guild_id)
await self.api_interface.persistent_queue_api.drop(guild_id)
for guild_id, (notify_channel_id, vc_id) in metadata.items():
@@ -208,7 +212,7 @@ class StartUpTasks(MixinMeta, metaclass=CompositeMetaClass):
tries += 1
except Exception as exc:
tries += 1
debug_exc_log(log, exc, "Failed to restore music voice channel")
debug_exc_log(log, exc, "Failed to restore music voice channel %s", vc_id)
if vc is None:
break
else:
@@ -222,6 +226,7 @@ class StartUpTasks(MixinMeta, metaclass=CompositeMetaClass):
if player.volume != volume:
await player.set_volume(volume)
player.maybe_shuffle()
log.info("Restored %r", player)
if not player.is_playing:
notify_channel = player.fetch("channel")
try:

View File

@@ -167,7 +167,7 @@ class FormattingUtilities(MixinMeta, metaclass=CompositeMetaClass):
query_obj=query,
):
if IS_DEBUG:
log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})")
log.debug("Query is not allowed in %r (%d)", ctx.guild.name, ctx.guild.id)
self.update_player_lock(ctx, False)
return await self.send_embed_msg(
ctx, title=_("This track is not allowed in this server.")
@@ -185,7 +185,7 @@ class FormattingUtilities(MixinMeta, metaclass=CompositeMetaClass):
player.add(ctx.author, search_choice)
player.maybe_shuffle()
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, search_choice, ctx.author
"red_audio_track_enqueue", player.guild, search_choice, ctx.author
)
else:
return await self.send_embed_msg(ctx, title=_("Track exceeds maximum length."))
@@ -199,9 +199,7 @@ class FormattingUtilities(MixinMeta, metaclass=CompositeMetaClass):
)
player.add(ctx.author, search_choice)
player.maybe_shuffle()
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, search_choice, ctx.author
)
self.bot.dispatch("red_audio_track_enqueue", player.guild, search_choice, ctx.author)
if not guild_data["shuffle"] and queue_dur > 0:
songembed.set_footer(

View File

@@ -120,7 +120,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
async def is_requester(self, ctx: commands.Context, member: discord.Member) -> bool:
try:
player = lavalink.get_player(ctx.guild.id)
log.debug(f"Current requester is {player.current.requester}")
log.debug("Current requester is %s", player.current.requester)
return player.current.requester.id == member.id
except Exception as err:
debug_exc_log(log, err, "Caught error in `is_requester`")
@@ -128,7 +128,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
async def _skip_action(self, ctx: commands.Context, skip_to_track: int = None) -> None:
player = lavalink.get_player(ctx.guild.id)
autoplay = await self.config.guild(player.channel.guild).auto_play()
autoplay = await self.config.guild(player.guild).auto_play()
if not player.current or (not player.queue and not autoplay):
try:
pos, dur = player.position, player.current.length
@@ -193,7 +193,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
),
)
await self.send_embed_msg(ctx, embed=embed)
self.bot.dispatch("red_audio_skip_track", player.channel.guild, player.current, ctx.author)
self.bot.dispatch("red_audio_skip_track", player.guild, player.current, ctx.author)
await player.play()
player.queue += queue_to_append
@@ -218,7 +218,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
return
if not await self.config.guild_from_id(guild_id).auto_deafen():
return
await player.channel.guild.change_voice_state(channel=player.channel, self_deaf=True)
await player.guild.change_voice_state(channel=player.channel, self_deaf=True)
async def _get_spotify_tracks(
self, ctx: commands.Context, query: Query, forced: bool = False
@@ -452,7 +452,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
query_obj=query,
):
if IS_DEBUG:
log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})")
log.debug("Query is not allowed in %r (%d)", ctx.guild.name, ctx.guild.id)
continue
elif guild_data["maxlength"] > 0:
if self.is_track_length_allowed(track, guild_data["maxlength"]):
@@ -466,7 +466,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
)
player.add(ctx.author, track)
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, track, ctx.author
"red_audio_track_enqueue", player.guild, track, ctx.author
)
else:
@@ -479,9 +479,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
}
)
player.add(ctx.author, track)
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, track, ctx.author
)
self.bot.dispatch("red_audio_track_enqueue", player.guild, track, ctx.author)
player.maybe_shuffle(0 if empty_queue else 1)
if len(tracks) > track_len:
@@ -544,7 +542,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
query_obj=query,
):
if IS_DEBUG:
log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})")
log.debug("Query is not allowed in %r (%d)", ctx.guild.name, ctx.guild.id)
self.update_player_lock(ctx, False)
return await self.send_embed_msg(
ctx, title=_("This track is not allowed in this server.")
@@ -562,7 +560,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
player.maybe_shuffle()
self.bot.dispatch(
"red_audio_track_enqueue",
player.channel.guild,
player.guild,
single_track,
ctx.author,
)
@@ -583,7 +581,7 @@ class PlayerUtilities(MixinMeta, metaclass=CompositeMetaClass):
player.add(ctx.author, single_track)
player.maybe_shuffle()
self.bot.dispatch(
"red_audio_track_enqueue", player.channel.guild, single_track, ctx.author
"red_audio_track_enqueue", player.guild, single_track, ctx.author
)
except IndexError:
self.update_player_lock(ctx, False)

View File

@@ -428,14 +428,14 @@ class PlaylistUtilities(MixinMeta, metaclass=CompositeMetaClass):
track = result.tracks[0]
except Exception as err:
debug_exc_log(log, err, f"Failed to get track for {song_url}")
debug_exc_log(log, err, "Failed to get track for %r", song_url)
continue
try:
track_obj = self.get_track_json(player, other_track=track)
track_list.append(track_obj)
successful_count += 1
except Exception as err:
debug_exc_log(log, err, f"Failed to create track for {track}")
debug_exc_log(log, err, "Failed to create track for %r", track)
continue
if (track_count % 2 == 0) or (track_count == len(uploaded_track_list)):
await notifier.notify_user(