1111import asyncio
1212
1313from config import config
14- from utils .embed_utils import SafeEmbed
14+ from utils .embed_utils import SafeEmbed , generate_error_message
1515from utils .error_handler import send_error_embed
1616from utils .logger import discord_logger
1717from exceptions import APIError
@@ -52,13 +52,11 @@ async def edit(self, interaction: discord.Interaction, button: discord.ui.Button
5252 try :
5353 # Check if gptimage model is available
5454 if "gptimage" not in config .MODELS :
55- await interaction .response .send_message (
56- embed = SafeEmbed (
57- title = "🎨 Model Unavailable" ,
58- description = "The gptimage model is currently not available for editing. Please try again later." ,
59- color = int (config .ui .colors .warning , 16 ),
60- ),
61- ephemeral = True ,
55+ await send_error_embed (
56+ interaction ,
57+ "🎨 Model Unavailable" ,
58+ "The gptimage model is currently not available for editing. Please try again later." ,
59+ delete_after_minutes = 2 ,
6260 )
6361 return
6462
@@ -67,13 +65,11 @@ async def edit(self, interaction: discord.Interaction, button: discord.ui.Button
6765 not interaction .message .embeds
6866 or not interaction .message .embeds [0 ].thumbnail
6967 ):
70- await interaction .response .send_message (
71- embed = SafeEmbed (
72- title = "🎨 No Image Found" ,
73- description = "Could not find the original emoji to edit." ,
74- color = int (config .ui .colors .error , 16 ),
75- ),
76- ephemeral = True ,
68+ await send_error_embed (
69+ interaction ,
70+ "🎨 No Image Found" ,
71+ "Could not find the original emoji to edit." ,
72+ delete_after_minutes = 1 ,
7773 )
7874 return
7975
@@ -96,13 +92,11 @@ async def edit(self, interaction: discord.Interaction, button: discord.ui.Button
9692 "guild_id" : interaction .guild_id if interaction .guild else None ,
9793 },
9894 )
99- await interaction .response .send_message (
100- embed = SafeEmbed (
101- title = "🎨 Error Opening Edit Dialog" ,
102- description = f"```\n { str (e )} \n ```" ,
103- color = int (config .ui .colors .error , 16 ),
104- ),
105- ephemeral = True ,
95+ await send_error_embed (
96+ interaction ,
97+ "🎨 Error Opening Edit Dialog" ,
98+ f"```\n { str (e )} \n ```" ,
99+ delete_after_minutes = 2 ,
106100 )
107101
108102 @discord .ui .button (
@@ -117,13 +111,11 @@ async def add_to_server(
117111 try :
118112 # Check if user has manage emojis permission
119113 if not interaction .user .guild_permissions .manage_emojis :
120- await interaction .response .send_message (
121- embed = SafeEmbed (
122- title = "❌ Insufficient Permissions" ,
123- description = "You need the 'Manage Emojis and Stickers' permission to add emojis to this server." ,
124- color = int (config .ui .colors .error , 16 ),
125- ),
126- ephemeral = True ,
114+ await send_error_embed (
115+ interaction ,
116+ "❌ Insufficient Permissions" ,
117+ "You need the 'Manage Emojis and Stickers' permission to add emojis to this server." ,
118+ delete_after_minutes = 1 ,
127119 )
128120 return
129121
@@ -132,13 +124,11 @@ async def add_to_server(
132124 not interaction .message .embeds
133125 or not interaction .message .embeds [0 ].thumbnail
134126 ):
135- await interaction .response .send_message (
136- embed = SafeEmbed (
137- title = "❌ No Image Found" ,
138- description = "Could not find the emoji image to add to server." ,
139- color = int (config .ui .colors .error , 16 ),
140- ),
141- ephemeral = True ,
127+ await send_error_embed (
128+ interaction ,
129+ "❌ No Image Found" ,
130+ "Could not find the emoji image to add to server." ,
131+ delete_after_minutes = 1 ,
142132 )
143133 return
144134
@@ -212,13 +202,11 @@ async def add_to_server(
212202 },
213203 )
214204
215- await interaction .followup .send (
216- embed = SafeEmbed (
217- title = "❌ Failed to Add Emoji" ,
218- description = f"```\n { error_message } \n ```" ,
219- color = int (config .ui .colors .error , 16 ),
220- ),
221- ephemeral = True ,
205+ await send_error_embed (
206+ interaction ,
207+ "❌ Failed to Add Emoji" ,
208+ f"```\n { error_message } \n ```" ,
209+ delete_after_minutes = 2 ,
222210 )
223211 except Exception as e :
224212 discord_logger .log_error (
@@ -230,13 +218,11 @@ async def add_to_server(
230218 "guild_id" : interaction .guild_id if interaction .guild else None ,
231219 },
232220 )
233- await interaction .followup .send (
234- embed = SafeEmbed (
235- title = "❌ Error Adding Emoji" ,
236- description = f"```\n { str (e )} \n ```" ,
237- color = int (config .ui .colors .error , 16 ),
238- ),
239- ephemeral = True ,
221+ await send_error_embed (
222+ interaction ,
223+ "❌ Error Adding Emoji" ,
224+ f"```\n { str (e )} \n ```" ,
225+ delete_after_minutes = 2 ,
240226 )
241227
242228 @discord .ui .button (
@@ -260,13 +246,11 @@ async def delete(self, interaction: discord.Interaction, button: discord.ui.Butt
260246 "guild_id" : interaction .guild_id if interaction .guild else None ,
261247 },
262248 )
263- await interaction .response .send_message (
264- embed = SafeEmbed (
265- title = "Error" ,
266- description = config .ui .error_messages ["delete_unauthorized" ],
267- color = int (config .ui .colors .error , 16 ),
268- ),
269- ephemeral = True ,
249+ await send_error_embed (
250+ interaction ,
251+ "Error" ,
252+ config .ui .error_messages ["delete_unauthorized" ],
253+ delete_after_minutes = 1 ,
270254 )
271255 return
272256
@@ -290,13 +274,11 @@ async def delete(self, interaction: discord.Interaction, button: discord.ui.Butt
290274 "guild_id" : interaction .guild_id if interaction .guild else None ,
291275 },
292276 )
293- await interaction .response .send_message (
294- embed = SafeEmbed (
295- title = "Error Deleting the Beemoji" ,
296- description = f"{ e } " ,
297- color = int (config .ui .colors .error , 16 ),
298- ),
299- ephemeral = True ,
277+ await send_error_embed (
278+ interaction ,
279+ "Error Deleting the Beemoji" ,
280+ f"```\n { str (e )} \n ```" ,
281+ delete_after_minutes = 2 ,
300282 )
301283 return
302284
@@ -562,13 +544,11 @@ async def beemoji_command(
562544 try :
563545 # Check if gptimage model is available
564546 if "gptimage" not in config .MODELS :
565- await interaction .response .send_message (
566- embed = SafeEmbed (
567- title = "🎨 Model Unavailable" ,
568- description = "The gptimage model is currently not available. Please try again later." ,
569- color = int (config .ui .colors .warning , 16 ),
570- ),
571- ephemeral = True ,
547+ await send_error_embed (
548+ interaction ,
549+ "🎨 Model Unavailable" ,
550+ "The gptimage model is currently not available. Please try again later." ,
551+ delete_after_minutes = 2 ,
572552 )
573553 return
574554
@@ -592,13 +572,11 @@ async def beemoji_command(
592572 )
593573
594574 except ValueError as e :
595- await interaction .followup .send (
596- embed = SafeEmbed (
597- title = "❌ Invalid Emoji Input" ,
598- description = f"```\n { str (e )} \n ```\n \n Please provide valid emojis. You can use:\n • Unicode emojis: 😀 🎉 ❤️\n • Custom Discord emojis: :custom_emoji: or <:name:id>\n • Animated Discord emojis: <a:name:id>\n • Emoji IDs: 123456789\n \n **Note:** Animated emojis will be converted to static images for remixing." ,
599- color = int (config .ui .colors .error , 16 ),
600- ),
601- ephemeral = True ,
575+ await send_error_embed (
576+ interaction ,
577+ "❌ Invalid Emoji Input" ,
578+ f"```\n { str (e )} \n ```\n \n Please provide valid emojis. You can use:\n • Unicode emojis: 😀 🎉 ❤️\n • Custom Discord emojis: :custom_emoji: or <:name:id>\n • Animated Discord emojis: <a:name:id>\n • Emoji IDs: 123456789\n \n **Note:** Animated emojis will be converted to static images for remixing." ,
579+ delete_after_minutes = 1 ,
602580 )
603581 return
604582
@@ -659,13 +637,11 @@ async def beemoji_command(
659637 error_message = str (e ),
660638 context = {"command" : "beemoji" },
661639 )
662- await interaction .followup .send (
663- embed = SafeEmbed (
664- title = "🐝 Couldn't Generate Beemoji 😔" ,
665- description = f"```\n { str (e )} \n ```" ,
666- color = int (config .ui .colors .error , 16 ),
667- ),
668- ephemeral = True ,
640+ await send_error_embed (
641+ interaction ,
642+ "🐝 Couldn't Generate Beemoji 😔" ,
643+ f"```\n { str (e )} \n ```" ,
644+ delete_after_minutes = 2 ,
669645 )
670646 except Exception as e :
671647 discord_logger .log_error (
@@ -678,13 +654,11 @@ async def beemoji_command(
678654 "guild_id" : interaction .guild_id if interaction .guild else None ,
679655 },
680656 )
681- await interaction .followup .send (
682- embed = SafeEmbed (
683- title = "🐝 Error Generating Beemoji" ,
684- description = f"```\n { str (e )} \n ```" ,
685- color = int (config .ui .colors .error , 16 ),
686- ),
687- ephemeral = True ,
657+ await send_error_embed (
658+ interaction ,
659+ "🐝 Error Generating Beemoji" ,
660+ f"```\n { str (e )} \n ```" ,
661+ delete_after_minutes = 2 ,
688662 )
689663
690664 @beemoji_command .error
@@ -719,9 +693,6 @@ async def beemoji_command_error(
719693 value = "- 1 time every 30 seconds" ,
720694 inline = False ,
721695 )
722-
723- embed .set_user_footer (interaction , "🐝 Beemoji cooldown for" )
724-
725696 return await interaction .response .send_message (embed = embed , ephemeral = True )
726697 else :
727698 discord_logger .log_error (
@@ -732,7 +703,7 @@ async def beemoji_command_error(
732703 )
733704 await send_error_embed (
734705 interaction ,
735- "An unexpected error occurred" ,
706+ "🐝 An unexpected error occurred" ,
736707 f"```\n { str (error )} \n ```" ,
737708 delete_after_minutes = 2 ,
738709 )
0 commit comments