Skip to content

Commit 25aa1d4

Browse files
committed
Fix various bugs introduced in 3.10.0-dev version.
1 parent e794325 commit 25aa1d4

File tree

3 files changed

+165
-94
lines changed

3 files changed

+165
-94
lines changed

bot.py

+17-18
Original file line numberDiff line numberDiff line change
@@ -1285,7 +1285,7 @@ async def handle_reaction_events(self, payload):
12851285
if not thread.recipient.dm_channel:
12861286
await thread.recipient.create_dm()
12871287
try:
1288-
linked_message = await thread.find_linked_message_from_dm(
1288+
linked_messages = await thread.find_linked_message_from_dm(
12891289
message, either_direction=True
12901290
)
12911291
except ValueError as e:
@@ -1296,21 +1296,21 @@ async def handle_reaction_events(self, payload):
12961296
if not thread:
12971297
return
12981298
try:
1299-
_, *linked_message = await thread.find_linked_messages(
1299+
_, linked_messages = await thread.find_linked_messages(
13001300
message.id, either_direction=True
13011301
)
13021302
except ValueError as e:
13031303
logger.warning("Failed to find linked message for reactions: %s", e)
13041304
return
13051305

1306-
if self.config["transfer_reactions"] and linked_message is not [None]:
1306+
if self.config["transfer_reactions"] and linked_messages is not [None]:
13071307
if payload.event_type == "REACTION_ADD":
1308-
for msg in linked_message:
1308+
for msg in linked_messages:
13091309
await self.add_reaction(msg, reaction)
13101310
await self.add_reaction(message, reaction)
13111311
else:
13121312
try:
1313-
for msg in linked_message:
1313+
for msg in linked_messages:
13141314
await msg.remove_reaction(reaction, self.user)
13151315
await message.remove_reaction(reaction, self.user)
13161316
except (discord.HTTPException, discord.InvalidArgument) as e:
@@ -1444,14 +1444,22 @@ async def on_message_delete(self, message):
14441444
if not thread:
14451445
return
14461446
try:
1447-
message = await thread.find_linked_message_from_dm(message)
1447+
linked_messages = await thread.find_linked_message_from_dm(message)
14481448
except ValueError as e:
14491449
if str(e) != "Thread channel message not found.":
14501450
logger.debug("Failed to find linked message to delete: %s", e)
14511451
return
1452-
embed = message.embeds[0]
1453-
embed.set_footer(text=f"{embed.footer.text} (deleted)", icon_url=embed.footer.icon_url)
1454-
await message.edit(embed=embed)
1452+
for msg in linked_messages:
1453+
if isinstance(msg.channel, discord.TextChannel):
1454+
# just for thread channel, we don't actually delete the message
1455+
# but just mark it as '(deleted)'
1456+
embed = msg.embeds[0]
1457+
embed.set_footer(
1458+
text=f"{embed.footer.text} (deleted)", icon_url=embed.footer.icon_url
1459+
)
1460+
await msg.edit(embed=embed)
1461+
else:
1462+
await msg.delete()
14551463
return
14561464

14571465
if message.author != self.user:
@@ -1461,15 +1469,6 @@ async def on_message_delete(self, message):
14611469
if not thread:
14621470
return
14631471

1464-
audit_logs = self.modmail_guild.audit_logs(
1465-
limit=10, action=discord.AuditLogAction.message_delete
1466-
)
1467-
1468-
entry = await audit_logs.find(lambda a: a.target == self.user)
1469-
1470-
if entry is None:
1471-
return
1472-
14731472
try:
14741473
await thread.delete_message(message, note=False)
14751474
embed = discord.Embed(

0 commit comments

Comments
 (0)