Skip to content

Commit

Permalink
Fix various bugs introduced in 3.10.0-dev version.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jerrie-Aries committed Jun 23, 2021
1 parent e794325 commit 25aa1d4
Show file tree
Hide file tree
Showing 3 changed files with 165 additions and 94 deletions.
35 changes: 17 additions & 18 deletions bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -1285,7 +1285,7 @@ async def handle_reaction_events(self, payload):
if not thread.recipient.dm_channel:
await thread.recipient.create_dm()
try:
linked_message = await thread.find_linked_message_from_dm(
linked_messages = await thread.find_linked_message_from_dm(
message, either_direction=True
)
except ValueError as e:
Expand All @@ -1296,21 +1296,21 @@ async def handle_reaction_events(self, payload):
if not thread:
return
try:
_, *linked_message = await thread.find_linked_messages(
_, linked_messages = await thread.find_linked_messages(
message.id, either_direction=True
)
except ValueError as e:
logger.warning("Failed to find linked message for reactions: %s", e)
return

if self.config["transfer_reactions"] and linked_message is not [None]:
if self.config["transfer_reactions"] and linked_messages is not [None]:
if payload.event_type == "REACTION_ADD":
for msg in linked_message:
for msg in linked_messages:
await self.add_reaction(msg, reaction)
await self.add_reaction(message, reaction)
else:
try:
for msg in linked_message:
for msg in linked_messages:
await msg.remove_reaction(reaction, self.user)
await message.remove_reaction(reaction, self.user)
except (discord.HTTPException, discord.InvalidArgument) as e:
Expand Down Expand Up @@ -1444,14 +1444,22 @@ async def on_message_delete(self, message):
if not thread:
return
try:
message = await thread.find_linked_message_from_dm(message)
linked_messages = await thread.find_linked_message_from_dm(message)
except ValueError as e:
if str(e) != "Thread channel message not found.":
logger.debug("Failed to find linked message to delete: %s", e)
return
embed = message.embeds[0]
embed.set_footer(text=f"{embed.footer.text} (deleted)", icon_url=embed.footer.icon_url)
await message.edit(embed=embed)
for msg in linked_messages:
if isinstance(msg.channel, discord.TextChannel):
# just for thread channel, we don't actually delete the message
# but just mark it as '(deleted)'
embed = msg.embeds[0]
embed.set_footer(
text=f"{embed.footer.text} (deleted)", icon_url=embed.footer.icon_url
)
await msg.edit(embed=embed)
else:
await msg.delete()
return

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

audit_logs = self.modmail_guild.audit_logs(
limit=10, action=discord.AuditLogAction.message_delete
)

entry = await audit_logs.find(lambda a: a.target == self.user)

if entry is None:
return

This comment has been minimized.

Copy link
@Jerrie-Aries

Jerrie-Aries Jun 23, 2021

Author Owner

Removed these. I think we no longer need this. As I mentioned in this comment, it returns wrong value most of the times.

try:
await thread.delete_message(message, note=False)
embed = discord.Embed(
Expand Down
Loading

0 comments on commit 25aa1d4

Please # to comment.