@@ -196,7 +196,7 @@ def maybe_file(
196196 return filename , file
197197 return None
198198
199- def get_component_for_segment (
199+ def _get_component_for_segment (
200200 self ,
201201 * ,
202202 content : str ,
@@ -229,7 +229,7 @@ def get_component_for_segment(
229229 container .accent_color = display_colour
230230 return container .children , file
231231
232- def add_segments (
232+ def _add_segments (
233233 self ,
234234 response : Response ,
235235 * ,
@@ -251,17 +251,16 @@ def add_segments(
251251 def get_formatted_response (self , result : Result ) -> Response :
252252 """Formulate a response message based on the result."""
253253 response = Response ()
254- components : list [disnake .ui .Container ] = []
255254 if result .raw_value is not None and result .raw_value .strip ():
256- component , file = self .get_component_for_segment (
255+ component , file = self ._get_component_for_segment (
257256 content = result .raw_value ,
258257 title = "Result" ,
259258 language = "ansi" ,
260259 display_colour = disnake .Colour .greyple (),
261260 )
262- self .add_segments (response , components = component , files = file )
261+ self ._add_segments (response , components = component , files = file )
263262 if result .errors :
264- component , file = self .get_component_for_segment (
263+ component , file = self ._get_component_for_segment (
265264 content = "\n " .join (
266265 "" .join (
267266 traceback .format_exception (
@@ -276,24 +275,23 @@ def get_formatted_response(self, result: Result) -> Response:
276275 language = "py" ,
277276 display_colour = constants .Colours .soft_red ,
278277 )
279- self .add_segments (response , components = component , files = file )
278+ self ._add_segments (response , components = component , files = file )
280279
281280 if result .stdout :
282- component , file = self .get_component_for_segment (
281+ component , file = self ._get_component_for_segment (
283282 content = result .stdout , title = "Stdout" , language = "ansi" , display_colour = constants .Colours .blue
284283 )
285- self .add_segments (response , components = component , files = file )
284+ self ._add_segments (response , components = component , files = file )
286285
287286 if result ._ :
288- component , file = self .get_component_for_segment (
287+ component , file = self ._get_component_for_segment (
289288 content = "\n " .join (repr (item ) for item in result ._ ),
290289 title = "Captured output" ,
291290 language = "ansi" ,
292291 display_colour = constants .Colours .soft_orange ,
293292 )
294- self .add_segments (response , components = component , files = file )
293+ self ._add_segments (response , components = component , files = file )
295294
296- response .components .extend (components )
297295 return response
298296
299297 @commands .command (name = "ieval" , aliases = ["iexec" ], hidden = True )
@@ -334,6 +332,10 @@ async def ieval(self, ctx: commands.Context, *, body: str) -> None:
334332 result = self .make_pretty (result , rules )
335333 response = self .get_formatted_response (result )
336334
335+ await ctx .message .add_reaction ("\u2705 " if not result .errors else "\u2757 " )
336+ if not response .components and not response .files :
337+ return
338+
337339 if ctx .guild is not None and ctx .channel .permissions_for (ctx .guild .me ).manage_messages :
338340 delete_contexts = (ctx .message , None )
339341 else :
@@ -403,6 +405,10 @@ async def repl(self, ctx: commands.Context) -> None:
403405 if result .raw_value == last_result :
404406 result .raw_value = None
405407 response = self .get_formatted_response (result )
408+ await msg .add_reaction ("\u2705 " if not result .errors else "\u2757 " )
409+ if not response .components and not response .files :
410+ continue
411+
406412 response .components += [
407413 disnake .ui .ActionRow (
408414 * [
0 commit comments