Skip to content

Commit bdc0a29

Browse files
Amrou BellalounaAmrou Bellalouna
Amrou Bellalouna
authored and
Amrou Bellalouna
committed
add possibility of deleting a bm with a button
1 parent ca76688 commit bdc0a29

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

bot/exts/utilities/bookmark.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,29 @@
2424

2525

2626
class LinkTargetMessage(discord.ui.View):
27-
"""The button that relays the user to the bookmarked message."""
27+
"""
28+
The button that relays the user to the bookmarked message.
29+
30+
Attributes
31+
__________
32+
dm_message: discord.Message
33+
The message that will be sent to the bookmark's requester DMs
34+
35+
"""
36+
37+
dm_message: discord.Message | None
2838

2939
def __init__(self, target_message: discord.Message):
3040
super().__init__()
41+
self.dm_message = None
3142
self.add_item(discord.ui.Button(label="View Message", url=target_message.jump_url))
3243

44+
@discord.ui.button(label="Delete bookmark", style=discord.ButtonStyle.red)
45+
async def button_callback(self, interaction: discord.Interaction, button: discord.Button) -> None:
46+
"""The button callback."""
47+
if self.dm_message:
48+
await self.dm_message.delete()
49+
3350

3451
class SendBookmark(discord.ui.View):
3552
"""The button that sends the bookmark to other users."""
@@ -110,7 +127,9 @@ async def action_bookmark(
110127
"""
111128
embed = self.build_bookmark_dm(target_message, title)
112129
try:
113-
await member.send(embed=embed, view=LinkTargetMessage(target_message))
130+
view = LinkTargetMessage(target_message)
131+
dm_message = await member.send(embed=embed, view=view)
132+
view.dm_message = dm_message
114133
except discord.Forbidden:
115134
error_embed = self.build_error_embed(f"{member.mention}, please enable your DMs to receive the bookmark.")
116135
await channel.send(embed=error_embed)

0 commit comments

Comments
 (0)