Skip to content

Commit 6825d3d

Browse files
committed
Log message edits
1 parent 085803a commit 6825d3d

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

bot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ async def on_message_edit(self, before, after):
418418
if matches and matches[-1] == str(before.id):
419419
embed.description = after.content
420420
await msg.edit(embed=embed)
421+
await self.modmail_api.edit_message(str(after.id), after.content)
421422
break
422423

423424
async def on_command_error(self, ctx, error):

cogs/modmail.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import datetime
44
from typing import Optional, Union
5+
import asyncio
56

67
import discord
78
from discord.ext import commands
@@ -428,8 +429,12 @@ async def edit(self, ctx, message_id: Optional[int]=None, *, new_message):
428429
if not linked_message_id:
429430
raise commands.UserInputError
430431

431-
await thread.edit_message(linked_message_id, new_message)
432+
await asyncio.gather(
433+
thread.edit_message(linked_message_id, new_message),
434+
self.bot.modmail_api.edit_message(linked_message_id, new_message)
435+
)
432436
await ctx.message.add_reaction('✅')
437+
433438

434439
@commands.command()
435440
@trigger_typing

core/clients.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ def get_log_url(self, recipient, channel, creator):
151151
}
152152
})
153153

154+
async def edit_message(self, message_id, new_content):
155+
return await self.request(self.logs + '/edit', method='PATCH', payload={
156+
'message_id': str(message_id),
157+
'new_content': new_content
158+
})
159+
154160
def append_log(self, message, channel_id='', type='thread_message'):
155161
channel_id = str(channel_id) or str(message.channel.id)
156162
payload = {
@@ -254,6 +260,15 @@ async def update_config(self, data):
254260
valid_keys = self.app.config.valid_keys - self.app.config.protected_keys
255261
data = {k: v for k, v in data.items() if k in valid_keys}
256262
return await self.db.config.update_one({'bot_id': self.app.user.id}, {'$set': data})
263+
264+
async def edit_message(self, message_id, new_content):
265+
await self.logs.update_one(
266+
{'messages.message_id': str(message_id)},
267+
{'$set': {
268+
'messages.$.content': new_content,
269+
'messages.$.edited': True
270+
}
271+
})
257272

258273
async def append_log(self, message, channel_id='', type='thread_message'):
259274
channel_id = str(channel_id) or str(message.channel.id)

0 commit comments

Comments
 (0)