fix: default mentions block @everyone; jump modal times out with the paginator
T2-10 (operator-ruled): mentions_allowed defaulted to AllowedMentions.all(), so page content (often user-supplied) could ping @everyone/@here and the paginator overrode a bot-wide none(). default to AllowedMentions(everyone= False): user/role pings and the bot-wide settings still apply. T2-11: JumpToPageModal used discord.py's default timeout=None, so every dismissed modal stayed in ViewStore._modals forever, pinning its paginator. pass the paginator's timeout. Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
1 parent
654c18fece
commit
eb4c3efb28
2 files changed
+7
-4
No files matched your search
@@ -149,7 +149,8 @@ through.
|
||||
- `timeout` — seconds before the view stops (default 180)
|
||||
- `delete_message_after` — delete the message on timeout
|
||||
- `per_page` — entries per page (default 1)
|
||||
- `mentions_allowed` — `AllowedMentions` for sends (default `.all()`)
|
||||
- `mentions_allowed` — `AllowedMentions` for sends (default `AllowedMentions(everyone=False)`:
|
||||
no @everyone/@here, user/role pings and the bot-wide settings still apply)
|
||||
- `ephemeral` — send/edit ephemerally
|
||||
- `page_text` — format string for the jump button label
|
||||
- `emojis` — override navigation emojis
|
||||
|
||||
@@ -85,7 +85,8 @@ class JumpToPageModal(discord.ui.Modal, title="Jump to Page"):
|
||||
"""modal that lets a user jump to a specific page"""
|
||||
|
||||
def __init__(self, paginator: "DPYPaginator"):
|
||||
super().__init__()
|
||||
# share the paginator's timeout so a dismissed modal leaves discord.py's ViewStore
|
||||
super().__init__(timeout=paginator.timeout)
|
||||
self.paginator = paginator
|
||||
self.page_number = discord.ui.TextInput(
|
||||
label="Enter page number",
|
||||
@@ -142,7 +143,8 @@ class DPYPaginator(Generic[PageT_co], discord.ui.View):
|
||||
timeout: seconds before the view stops
|
||||
delete_message_after: delete the message on timeout
|
||||
per_page: how many entries render per page
|
||||
mentions_allowed: AllowedMentions for sends (defaults to all)
|
||||
mentions_allowed: AllowedMentions for sends (default: no @everyone/@here;
|
||||
user/role pings and the bot-wide settings still apply)
|
||||
ephemeral: send/edit ephemerally
|
||||
page_text: format string for the jump button label
|
||||
emojis: override navigation emojis (keys: previous/next/cache)
|
||||
@@ -155,7 +157,7 @@ class DPYPaginator(Generic[PageT_co], discord.ui.View):
|
||||
raise ValueError("per_page must be >= 1")
|
||||
self.author_id: Optional[int] = author_id
|
||||
self.delete_message_after: bool = delete_message_after
|
||||
self.mentions_allowed = mentions_allowed or discord.AllowedMentions.all()
|
||||
self.mentions_allowed = mentions_allowed or discord.AllowedMentions(everyone=False)
|
||||
self.ephemeral: bool = ephemeral
|
||||
self.current_page: int = 0
|
||||
self.per_page: int = per_page
|
||||
|
||||
Reference in new issue
Block a user