File tree 1 file changed +38
-0
lines changed
1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 5
5
from app .setup import bot , config
6
6
from app .utils import (
7
7
GuildTextChannel ,
8
+ get_moved_message ,
9
+ get_moved_message_author_id ,
8
10
get_or_create_webhook ,
9
11
is_dm ,
10
12
is_helper ,
@@ -198,3 +200,39 @@ async def turn_into_help_post(
198
200
return
199
201
200
202
await interaction .response .send_modal (HelpPostTitle (message ))
203
+
204
+
205
+ @bot .tree .context_menu (name = "Delete moved message" )
206
+ @discord .app_commands .guild_only ()
207
+ async def delete_moved_message (
208
+ interaction : discord .Interaction , message : discord .Message
209
+ ) -> None :
210
+ assert not is_dm (interaction .user )
211
+
212
+ if (webhook_message := await get_moved_message (message )) is None :
213
+ await interaction .response .send_message (
214
+ "This message cannot be deleted." , ephemeral = True
215
+ )
216
+ return
217
+
218
+ if (
219
+ webhook_message is discord .utils .MISSING
220
+ or (author_id := get_moved_message_author_id (webhook_message )) is None
221
+ ):
222
+ await interaction .response .send_message (
223
+ "This message is not a moved message." , ephemeral = True
224
+ )
225
+ return
226
+
227
+ if not (
228
+ interaction .user .id == author_id
229
+ or message .channel .permissions_for (interaction .user ).manage_messages
230
+ ):
231
+ await interaction .response .send_message (
232
+ "You do not have the required permissions to delete messages." ,
233
+ ephemeral = True ,
234
+ )
235
+ return
236
+
237
+ await message .delete ()
238
+ await interaction .response .send_message ("Message deleted." , ephemeral = True )
You can’t perform that action at this time.
0 commit comments