diff --git a/redbot/cogs/audio/core/commands/player.py b/redbot/cogs/audio/core/commands/player.py index a925c7a4632..3e3b5273ed7 100644 --- a/redbot/cogs/audio/core/commands/player.py +++ b/redbot/cogs/audio/core/commands/player.py @@ -50,7 +50,9 @@ async def command_play(self, ctx: commands.Context, *, query: str): return await self.send_embed_msg( ctx, title=_("Unable To Play Tracks"), - description=_("That URL is not allowed."), + description=_( + "That URL is not allowed.\n\nThe bot owner can remove this restriction by using ``{prefix}audioset restrict``." + ).format(prefix=ctx.clean_prefix), ) elif not await self.is_query_allowed(self.config, ctx, f"{query}", query_obj=query): return await self.send_embed_msg( diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 6cba99d8891..c63b2bb9584 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -886,7 +886,12 @@ async def ignored_channel_or_guild( if ctx.channel.type is not discord.ChannelType.private: raise TypeError("Can't check permissions for non-private PartialMessageable.") is_private = True - perms = ctx.channel.permissions_for(author) + if isinstance(ctx, discord.Message): + perms = ctx.channel.permissions_for(author) + else: + # `permissions` attribute will use permissions from the interaction when possible, + # or `ctx.channel.permissions_for(author)` for non-interaction contexts. + perms = ctx.permissions surpass_ignore = ( is_private or perms.manage_guild