diff --git a/src/pluralkit/bot/commands/member_commands.py b/src/pluralkit/bot/commands/member_commands.py index eaa91cbe..82758f14 100644 --- a/src/pluralkit/bot/commands/member_commands.py +++ b/src/pluralkit/bot/commands/member_commands.py @@ -52,7 +52,12 @@ async def member_info(ctx: CommandContext, member: Member): msg = await ctx.reply(embed=await pluralkit.bot.embeds.member_card(ctx.conn, member)) if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + # This will fail if we don't have Manage messages, just silently fail tbh + # The user can delete their own command if they want + pass async def new_member(ctx: CommandContext): diff --git a/src/pluralkit/bot/commands/message_commands.py b/src/pluralkit/bot/commands/message_commands.py index 69287c18..07fc7905 100644 --- a/src/pluralkit/bot/commands/message_commands.py +++ b/src/pluralkit/bot/commands/message_commands.py @@ -18,4 +18,7 @@ async def message_info(ctx: CommandContext): msg = await ctx.reply(embed=await embeds.message_card(ctx.client, message)) if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() \ No newline at end of file + try: + await ctx.message.delete() + except discord.Forbidden: + pass \ No newline at end of file diff --git a/src/pluralkit/bot/commands/system_commands.py b/src/pluralkit/bot/commands/system_commands.py index aae1266d..1a087416 100644 --- a/src/pluralkit/bot/commands/system_commands.py +++ b/src/pluralkit/bot/commands/system_commands.py @@ -76,7 +76,10 @@ async def system_info(ctx: CommandContext, system: System): if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + pass async def system_new(ctx: CommandContext): new_name = ctx.remaining() or None @@ -265,7 +268,10 @@ async def system_fronthistory(ctx: CommandContext, system: System): if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + pass async def system_delete(ctx: CommandContext): @@ -366,7 +372,10 @@ async def system_frontpercent(ctx: CommandContext, system: System): if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + pass async def system_list(ctx: CommandContext, system: System): # TODO: refactor this @@ -379,7 +388,10 @@ async def system_list(ctx: CommandContext, system: System): msg = await ctx.reply(embed=embeds.member_list_full(system, all_members, 0, page_size)) if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + pass else: current_page = 0 msg: discord.Message = None @@ -394,7 +406,10 @@ async def system_list(ctx: CommandContext, system: System): await msg.add_reaction("\u27A1") if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + pass else: await msg.edit(embed=embed) @@ -426,7 +441,10 @@ async def system_list(ctx: CommandContext, system: System): msg = await ctx.reply(embed=embeds.member_list_short(system, all_members, 0, page_size)) if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + pass else: current_page = 0 msg: discord.Message = None @@ -440,7 +458,10 @@ async def system_list(ctx: CommandContext, system: System): await msg.add_reaction("\u27A1") if await ctx.delete_by_react(ctx.message.author, msg): await msg.delete() - await ctx.message.delete() + try: + await ctx.message.delete() + except discord.Forbidden: + pass else: await msg.edit(embed=embed)