Skip to content

Commit 145788e

Browse files
committed
Resolve issues with deleting messages
1 parent daf04b0 commit 145788e

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

bot.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1415,11 +1415,12 @@ async def on_message_delete(self, message):
14151415
if not thread:
14161416
return
14171417
try:
1418-
message = await thread.find_linked_message_from_dm(message)
1418+
message = await thread.find_linked_message_from_dm(message, get_thread_channel=True)
14191419
except ValueError as e:
14201420
if str(e) != "Thread channel message not found.":
14211421
logger.debug("Failed to find linked message to delete: %s", e)
14221422
return
1423+
message = message[0]
14231424
embed = message.embeds[0]
14241425
embed.set_footer(text=f"{embed.footer.text} (deleted)", icon_url=embed.footer.icon_url)
14251426
await message.edit(embed=embed)

core/thread.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ async def delete_message(
695695
await asyncio.gather(*tasks)
696696

697697
async def find_linked_message_from_dm(
698-
self, message, either_direction=False
698+
self, message, either_direction=False, get_thread_channel=False
699699
) -> typing.List[discord.Message]:
700700

701701
joint_id = None
@@ -726,6 +726,10 @@ async def find_linked_message_from_dm(
726726
else:
727727
raise ValueError("Thread channel message not found.")
728728

729+
if get_thread_channel:
730+
# end early as we only want the main message from thread channel
731+
return linked_messages
732+
729733
if joint_id is None:
730734
joint_id = get_joint_id(linked_messages[0])
731735
if joint_id is None:

core/utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,9 @@ def get_joint_id(message: discord.Message) -> typing.Optional[int]:
467467
"""
468468
if message.embeds:
469469
try:
470-
return int(getattr(message.embeds[0].author, "url", "").split("#")[-1])
470+
url = getattr(message.embeds[0].author, "url", "")
471+
if url:
472+
return int(url.split("#")[-1])
471473
except ValueError:
472474
pass
473475
return None

0 commit comments

Comments
 (0)