diff options
| author | 2021-07-31 00:24:02 -0700 | |
|---|---|---|
| committer | 2021-07-31 00:24:02 -0700 | |
| commit | d9d22993107f328101a5ffed536e439c549f42e8 (patch) | |
| tree | 0270a9241991474f3949c159b7ffc28274aa1eda /bot/exts | |
| parent | Modify scarymovie to use the constants module everywhere in the code (diff) | |
| parent | Merge pull request #790 from python-discord/Remove-user-input-images (diff) | |
Merge branch 'main' into pr/fixscarymovie
Diffstat (limited to 'bot/exts')
| -rw-r--r-- | bot/exts/evergreen/avatar_modification/avatar_modify.py | 44 | ||||
| -rw-r--r-- | bot/exts/evergreen/trivia_quiz.py | 29 | ||||
| -rw-r--r-- | bot/exts/halloween/hacktoberstats.py | 8 | 
3 files changed, 21 insertions, 60 deletions
| diff --git a/bot/exts/evergreen/avatar_modification/avatar_modify.py b/bot/exts/evergreen/avatar_modification/avatar_modify.py index 17f34ed4..bd324f67 100644 --- a/bot/exts/evergreen/avatar_modification/avatar_modify.py +++ b/bot/exts/evergreen/avatar_modification/avatar_modify.py @@ -9,7 +9,6 @@ from concurrent.futures import ThreadPoolExecutor  from pathlib import Path  import discord -from aiohttp import client_exceptions  from discord.ext import commands  from bot.bot import Bot @@ -236,37 +235,6 @@ class AvatarModify(commands.Cog):              await self.send_pride_image(ctx, image_bytes, pixels, flag, option)      @prideavatar.command() -    async def image(self, ctx: commands.Context, url: str, option: str = "lgbt", pixels: int = 64) -> None: -        """ -        This surrounds the image specified by the URL with a border of a specified LGBT flag. - -        This defaults to the LGBT rainbow flag if none is given. -        The amount of pixels can be given which determines the thickness of the flag border. -        This has a maximum of 512px and defaults to a 64px border. -        The full image is 1024x1024. -        """ -        option = option.lower() -        pixels = max(0, min(512, pixels)) -        flag = GENDER_OPTIONS.get(option) -        if flag is None: -            await ctx.send("I don't have that flag!") -            return - -        async with ctx.typing(): -            try: -                async with self.bot.http_session.get(url) as response: -                    if response.status != 200: -                        await ctx.send("Bad response from provided URL!") -                        return -                    image_bytes = await response.read() -            except client_exceptions.ClientConnectorError: -                raise commands.BadArgument("Cannot connect to provided URL!") -            except client_exceptions.InvalidURL: -                raise commands.BadArgument("Invalid URL!") - -            await self.send_pride_image(ctx, image_bytes, pixels, flag, option) - -    @prideavatar.command()      async def flags(self, ctx: commands.Context) -> None:          """This lists the flags that can be used with the prideavatar command."""          choices = sorted(set(GENDER_OPTIONS.values())) @@ -283,12 +251,9 @@ class AvatarModify(commands.Cog):          root_aliases=("spookyavatar", "spookify", "savatar"),          brief="Spookify an user's avatar."      ) -    async def spookyavatar(self, ctx: commands.Context, member: discord.Member = None) -> None: -        """This "spookifies" the given user's avatar, with a random *spooky* effect.""" -        if member is None: -            member = ctx.author - -        user = await self._fetch_user(member.id) +    async def spookyavatar(self, ctx: commands.Context) -> None: +        """This "spookifies" the user's avatar, with a random *spooky* effect.""" +        user = await self._fetch_user(ctx.author.id)          if not user:              await ctx.send(f"{Emojis.cross_mark} Could not get user info.")              return @@ -296,7 +261,7 @@ class AvatarModify(commands.Cog):          async with ctx.typing():              image_bytes = await user.avatar_url_as(size=1024).read() -            file_name = file_safe_name("spooky_avatar", member.display_name) +            file_name = file_safe_name("spooky_avatar", ctx.author.display_name)              file = await in_executor(                  PfpEffects.apply_effect, @@ -309,7 +274,6 @@ class AvatarModify(commands.Cog):                  title="Is this you or am I just really paranoid?",                  colour=Colours.soft_red              ) -            embed.set_author(name=member.name, icon_url=member.avatar_url)              embed.set_image(url=f"attachment://{file_name}")              embed.set_footer(text=f"Made by {ctx.author.display_name}.", icon_url=ctx.author.avatar_url) diff --git a/bot/exts/evergreen/trivia_quiz.py b/bot/exts/evergreen/trivia_quiz.py index a8d10afd..28924aed 100644 --- a/bot/exts/evergreen/trivia_quiz.py +++ b/bot/exts/evergreen/trivia_quiz.py @@ -17,8 +17,8 @@ from bot.constants import Colours, NEGATIVE_REPLIES, Roles  logger = logging.getLogger(__name__)  DEFAULT_QUESTION_LIMIT = 6 -STANDARD_VARIATION_TOLERANCE = 83 -DYNAMICALLY_GEN_VARIATION_TOLERANCE = 95 +STANDARD_VARIATION_TOLERANCE = 88 +DYNAMICALLY_GEN_VARIATION_TOLERANCE = 97  WRONG_ANS_RESPONSE = [      "No one answered correctly!", @@ -210,6 +210,8 @@ class TriviaQuiz(commands.Cog):              "retro": "Questions related to retro gaming.",              "math": "General questions about mathematics ranging from grade 8 to grade 12.",              "science": "Put your understanding of science to the test!", +            "cs": "A large variety of computer science questions.", +            "python": "Trivia on our amazing language, Python!",          }      @staticmethod @@ -225,10 +227,12 @@ class TriviaQuiz(commands.Cog):          Start a quiz!          Questions for the quiz can be selected from the following categories: -        - general: Test your general knowledge. (default) +        - general: Test your general knowledge.          - retro: Questions related to retro gaming.          - math: General questions about mathematics ranging from grade 8 to grade 12.          - science: Put your understanding of science to the test! +        - cs: A large variety of computer science questions. +        - python: Trivia on our amazing language, Python!          (More to come!)          """ @@ -290,7 +294,7 @@ class TriviaQuiz(commands.Cog):              start_embed = self.make_start_embed(category)              await ctx.send(embed=start_embed)  # send an embed with the rules -            await asyncio.sleep(1) +            await asyncio.sleep(5)          done_question = []          hint_no = 0 @@ -430,21 +434,18 @@ class TriviaQuiz(commands.Cog):          """Generate a starting/introduction embed for the quiz."""          start_embed = discord.Embed(              colour=Colours.blue, -            title="Quiz game starting!", +            title="A quiz game is starting!",              description=( -                f"This game consists of {self.question_limit + 1} questions.\n" -                "**Rules: **No cheating and have fun!\n" +                f"This game consists of {self.question_limit + 1} questions.\n\n" +                "**Rules: **\n" +                "1. Only enclose your answer in backticks when the question tells you to.\n" +                "2. If the question specifies an answer format, follow it or else it won't be accepted.\n" +                "3. You have 30s per question. Points for each question reduces by 25 after 10s or after a hint.\n" +                "4. No cheating and have fun!\n\n"                  f"**Category**: {category}"              ),          ) -        start_embed.set_footer( -            text=( -                "Points for each question reduces by 25 after 10s or after a hint. " -                "Total time is 30s per question" -            ) -        ) -          return start_embed      @staticmethod diff --git a/bot/exts/halloween/hacktoberstats.py b/bot/exts/halloween/hacktoberstats.py index b74e680b..50d3aaf6 100644 --- a/bot/exts/halloween/hacktoberstats.py +++ b/bot/exts/halloween/hacktoberstats.py @@ -10,15 +10,14 @@ from async_rediscache import RedisCache  from discord.ext import commands  from bot.bot import Bot -from bot.constants import Channels, Colours, Month, NEGATIVE_REPLIES, Tokens, WHITELISTED_CHANNELS -from bot.utils.decorators import in_month, whitelist_override +from bot.constants import Colours, Month, NEGATIVE_REPLIES, Tokens +from bot.utils.decorators import in_month  log = logging.getLogger(__name__)  CURRENT_YEAR = datetime.now().year  # Used to construct GH API query  PRS_FOR_SHIRT = 4  # Minimum number of PRs before a shirt is awarded  REVIEW_DAYS = 14  # number of days needed after PR can be mature -HACKTOBER_WHITELIST = WHITELISTED_CHANNELS + (Channels.hacktoberfest_2020,)  REQUEST_HEADERS = {"User-Agent": "Python Discord Hacktoberbot"}  # using repo topics API during preview period requires an accept header @@ -44,7 +43,6 @@ class HacktoberStats(commands.Cog):      @in_month(Month.SEPTEMBER, Month.OCTOBER, Month.NOVEMBER)      @commands.group(name="hacktoberstats", aliases=("hackstats",), invoke_without_command=True) -    @whitelist_override(channels=HACKTOBER_WHITELIST)      async def hacktoberstats_group(self, ctx: commands.Context, github_username: str = None) -> None:          """          Display an embed for a user's Hacktoberfest contributions. @@ -72,7 +70,6 @@ class HacktoberStats(commands.Cog):      @in_month(Month.SEPTEMBER, Month.OCTOBER, Month.NOVEMBER)      @hacktoberstats_group.command(name="link") -    @whitelist_override(channels=HACKTOBER_WHITELIST)      async def link_user(self, ctx: commands.Context, github_username: str = None) -> None:          """          Link the invoking user's Github github_username to their Discord ID. @@ -96,7 +93,6 @@ class HacktoberStats(commands.Cog):      @in_month(Month.SEPTEMBER, Month.OCTOBER, Month.NOVEMBER)      @hacktoberstats_group.command(name="unlink") -    @whitelist_override(channels=HACKTOBER_WHITELIST)      async def unlink_user(self, ctx: commands.Context) -> None:          """Remove the invoking user's account link from the log."""          author_id, author_mention = self._author_mention_from_context(ctx) | 
