diff options
Diffstat (limited to '')
| -rw-r--r-- | bot/exts/moderation/infraction/superstarify.py | 41 | 
1 files changed, 21 insertions, 20 deletions
| diff --git a/bot/exts/moderation/infraction/superstarify.py b/bot/exts/moderation/infraction/superstarify.py index 96dfb562f..ffc470c54 100644 --- a/bot/exts/moderation/infraction/superstarify.py +++ b/bot/exts/moderation/infraction/superstarify.py @@ -104,14 +104,14 @@ class Superstarify(InfractionScheduler, Cog):              await self.reapply_infraction(infraction, action) -    @command(name="superstarify", aliases=("force_nick", "star")) +    @command(name="superstarify", aliases=("force_nick", "star", "starify"))      async def superstarify(          self,          ctx: Context,          member: Member,          duration: Expiry,          *, -        reason: str = None, +        reason: str = '',      ) -> None:          """          Temporarily force a random superstar name (like Taylor Swift) to be the user's nickname. @@ -128,16 +128,16 @@ class Superstarify(InfractionScheduler, Cog):          Alternatively, an ISO 8601 timestamp can be provided for the duration. -        An optional reason can be provided. If no reason is given, the original name will be shown -        in a generated reason. +        An optional reason can be provided, which would be added to a message stating their old nickname +        and linking to the nickname policy.          """          if await _utils.get_active_infraction(ctx, member, "superstar"):              return          # Post the infraction to the API          old_nick = member.display_name -        reason = reason or f"old nick: {old_nick}" -        infraction = await _utils.post_infraction(ctx, member, "superstar", reason, duration, active=True) +        infraction_reason = f'Old nickname: {old_nick}. {reason}' +        infraction = await _utils.post_infraction(ctx, member, "superstar", infraction_reason, duration, active=True)          id_ = infraction["id"]          forced_nick = self.get_nick(id_, member.id) @@ -152,37 +152,38 @@ class Superstarify(InfractionScheduler, Cog):          old_nick = escape_markdown(old_nick)          forced_nick = escape_markdown(forced_nick) -        superstar_reason = f"Your nickname didn't comply with our [nickname policy]({NICKNAME_POLICY_URL})."          nickname_info = textwrap.dedent(f"""              Old nickname: `{old_nick}`              New nickname: `{forced_nick}`          """).strip() +        user_message = ( +            f"Your previous nickname, **{old_nick}**, " +            f"was so bad that we have decided to change it. " +            f"Your new nickname will be **{forced_nick}**.\n\n" +            "{reason}" +            f"You will be unable to change your nickname until **{expiry_str}**. " +            "If you're confused by this, please read our " +            f"[official nickname policy]({NICKNAME_POLICY_URL})." +        ).format +          successful = await self.apply_infraction(              ctx, infraction, member, action(), -            user_reason=superstar_reason, +            user_reason=user_message(reason=f'**Additional details:** {reason}\n\n' if reason else ''),              additional_info=nickname_info          ) -        # Send an embed with the infraction information to the invoking context if -        # superstar was successful. +        # Send an embed with to the invoking context if superstar was successful.          if successful:              log.trace(f"Sending superstar #{id_} embed.")              embed = Embed( -                title="Congratulations!", +                title="Superstarified!",                  colour=constants.Colours.soft_orange, -                description=( -                    f"Your previous nickname, **{old_nick}**, " -                    f"was so bad that we have decided to change it. " -                    f"Your new nickname will be **{forced_nick}**.\n\n" -                    f"You will be unable to change your nickname until **{expiry_str}**.\n\n" -                    "If you're confused by this, please read our " -                    f"[official nickname policy]({NICKNAME_POLICY_URL})." -                ) +                description=user_message(reason='')              )              await ctx.send(embed=embed) -    @command(name="unsuperstarify", aliases=("release_nick", "unstar")) +    @command(name="unsuperstarify", aliases=("release_nick", "unstar", "unstarify"))      async def unsuperstarify(self, ctx: Context, member: Member) -> None:          """Remove the superstarify infraction and allow the user to change their nickname."""          await self.pardon_infraction(ctx, "superstar", member) | 
