Fix special case where webhook is deleted by user
This commit is contained in:
		| @@ -103,13 +103,21 @@ async def do_proxy_message(conn, original_message: discord.Message, proxy_member | ||||
|                            inner_text: str, logger: ChannelLogger): | ||||
|     # Send the message through the webhook | ||||
|     webhook = await get_or_create_webhook_for_channel(conn, original_message.channel) | ||||
|     sent_message = await webhook.send( | ||||
|         content=inner_text, | ||||
|         username=proxy_member.name, | ||||
|         avatar_url=proxy_member.avatar_url, | ||||
|         file=await make_attachment_file(original_message), | ||||
|         wait=True | ||||
|     ) | ||||
|  | ||||
|     try: | ||||
|         sent_message = await webhook.send( | ||||
|             content=inner_text, | ||||
|             username=proxy_member.name, | ||||
|             avatar_url=proxy_member.avatar_url, | ||||
|             file=await make_attachment_file(original_message), | ||||
|             wait=True | ||||
|         ) | ||||
|     except discord.NotFound: | ||||
|         # The webhook we got from the DB doesn't actually exist | ||||
|         # If we delete it from the DB then call the function again, it'll re-create one for us | ||||
|         await db.delete_webhook(conn, original_message.channel.id) | ||||
|         await do_proxy_message(conn, original_message, proxy_member, inner_text, logger) | ||||
|         return | ||||
|  | ||||
|     # Save the proxied message in the database | ||||
|     await db.add_message(conn, sent_message.id, original_message.channel.id, proxy_member.id, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user