diff options
| -rw-r--r-- | bot/pagination.py | 13 | ||||
| -rw-r--r-- | bot/utils/messages.py | 2 | 
2 files changed, 11 insertions, 4 deletions
| diff --git a/bot/pagination.py b/bot/pagination.py index 182b2fa76..09dbad7b5 100644 --- a/bot/pagination.py +++ b/bot/pagination.py @@ -8,6 +8,7 @@ from discord.abc import User  from discord.ext.commands import Context, Paginator  from bot import constants +from bot.constants import MODERATION_ROLES  FIRST_EMOJI = "\u23EE"   # [:track_previous:]  LEFT_EMOJI = "\u2B05"    # [:arrow_left:] @@ -210,6 +211,9 @@ class LinePaginator(Paginator):          Pagination will also be removed automatically if no reaction is added for five minutes (300 seconds). +        The interaction will be limited to `restrict_to_user` (ctx.author by default) or +        to any user with a moderation role. +          Example:          >>> embed = discord.Embed()          >>> embed.set_author(name="Some Operation", url=url, icon_url=icon) @@ -218,10 +222,10 @@ class LinePaginator(Paginator):          def event_check(reaction_: discord.Reaction, user_: discord.Member) -> bool:              """Make sure that this reaction is what we want to operate on."""              no_restrictions = ( -                # Pagination is not restricted -                not restrict_to_user                  # The reaction was by a whitelisted user -                or user_.id == restrict_to_user.id +                user_.id == restrict_to_user.id +                # The reaction was by a moderator +                or any(role.id in MODERATION_ROLES for role in user_.roles)              )              return ( @@ -242,6 +246,9 @@ class LinePaginator(Paginator):                          scale_to_size=scale_to_size)          current_page = 0 +        if not restrict_to_user: +            restrict_to_user = ctx.author +          if not lines:              if exception_on_empty_embed:                  log.exception("Pagination asked for empty lines iterable") diff --git a/bot/utils/messages.py b/bot/utils/messages.py index b0b6cbf82..832ad4d55 100644 --- a/bot/utils/messages.py +++ b/bot/utils/messages.py @@ -11,7 +11,7 @@ from discord.errors import HTTPException  from discord.ext.commands import Context  import bot -from bot.constants import Emojis, NEGATIVE_REPLIES, MODERATION_ROLES +from bot.constants import Emojis, MODERATION_ROLES, NEGATIVE_REPLIES  log = logging.getLogger(__name__) | 
