diff --git a/src/dpy_paginator/dpy_paginator.py b/src/dpy_paginator/dpy_paginator.py index f105c6d..b5b27a8 100644 --- a/src/dpy_paginator/dpy_paginator.py +++ b/src/dpy_paginator/dpy_paginator.py @@ -385,8 +385,10 @@ class DPYPaginator(Generic[PageT_co], discord.ui.View): await self.message.edit(**kwargs) except (discord.NotFound, discord.Forbidden): pass - except discord.HTTPException: - log.warning("paginator cache_button: failed to refresh message", exc_info=True) + except discord.HTTPException as exc: + # swallowed best-effort cleanup that recovers - no traceback (exc_info belongs + # on terminal/unhandled paths); the reason is folded in for diagnosis. + log.warning("paginator cache_button: failed to refresh message: %s", exc) @discord.ui.button(style=discord.ButtonStyle.blurple) async def next_page(self, interaction: Interaction, _: discord.ui.Button[Self]) -> None: @@ -464,9 +466,10 @@ class DPYPaginator(Generic[PageT_co], discord.ui.View): await self.message.delete() except (discord.NotFound, discord.Forbidden): pass - except discord.HTTPException: - # best-effort cleanup task; log rather than raise into an unretrieved task - log.warning("paginator on_timeout: failed to delete message", exc_info=True) + except discord.HTTPException as exc: + # best-effort cleanup task; log rather than raise into an unretrieved task. no + # traceback (exc_info belongs on terminal/unhandled paths) - fold the reason in. + log.warning("paginator on_timeout: failed to delete message: %s", exc) # back-compat alias: the class was originally named ButtonPaginator; DPYPaginator is