diff --git a/src/dpy_paginator/dpy_paginator.py b/src/dpy_paginator/dpy_paginator.py index b1a7851..cbe238a 100644 --- a/src/dpy_paginator/dpy_paginator.py +++ b/src/dpy_paginator/dpy_paginator.py @@ -374,15 +374,16 @@ class ButtonPaginator(Generic[PageT_co], discord.ui.View): kwargs.pop("view", None) self.reset_files(kwargs) - send_kwargs["ephemeral"] = self.ephemeral if isinstance(obj, discord.Interaction): + # ephemeral is an interaction-response concept; only these paths accept it if obj.response.is_done(): - self.message = await obj.followup.send(**kwargs, **send_kwargs) + self.message = await obj.followup.send(**kwargs, ephemeral=self.ephemeral, **send_kwargs) else: - await obj.response.send_message(**kwargs, **send_kwargs) + await obj.response.send_message(**kwargs, ephemeral=self.ephemeral, **send_kwargs) self.message = await obj.original_response() elif isinstance(obj, Messageable): + # Messageable.send (a raw channel) has no ephemeral param — never pass it self.message = await obj.send(**kwargs, **send_kwargs) else: raise TypeError(f"expected Interaction or Messageable, got {obj.__class__.__name__}")