diff options
| author | 2023-05-06 13:36:52 +0100 | |
|---|---|---|
| committer | 2023-05-06 13:36:52 +0100 | |
| commit | e2d0c268732ab6998a90028be9ecd1f8efcce7d8 (patch) | |
| tree | ea0fc0176f18331756c19d110ee6edf4e5100898 /bot/exts | |
| parent | Bump pre-commit from 3.3.0 to 3.3.1 (#1263) (diff) | |
| parent | bump bot-core to 9.6.0 (diff) | |
Merge pull request #1260 from shtlrs/pedantic-configuration
Use pydantic for configuration management
Diffstat (limited to 'bot/exts')
| -rw-r--r-- | bot/exts/events/hacktoberfest/hacktober-issue-finder.py | 2 | ||||
| -rw-r--r-- | bot/exts/events/hacktoberfest/hacktoberstats.py | 4 | ||||
| -rw-r--r-- | bot/exts/fun/game.py | 4 | ||||
| -rw-r--r-- | bot/exts/fun/movie.py | 4 | ||||
| -rw-r--r-- | bot/exts/fun/snakes/_snakes_cog.py | 6 | ||||
| -rw-r--r-- | bot/exts/fun/space.py | 2 | ||||
| -rw-r--r-- | bot/exts/holidays/easter/earth_photos.py | 6 | ||||
| -rw-r--r-- | bot/exts/holidays/halloween/scarymovie.py | 4 | ||||
| -rw-r--r-- | bot/exts/holidays/halloween/spookygif.py | 2 | ||||
| -rw-r--r-- | bot/exts/holidays/valentines/be_my_valentine.py | 6 | ||||
| -rw-r--r-- | bot/exts/holidays/valentines/lovecalculator.py | 6 | ||||
| -rw-r--r-- | bot/exts/utilities/cheatsheet.py | 2 | ||||
| -rw-r--r-- | bot/exts/utilities/githubinfo.py | 2 | ||||
| -rw-r--r-- | bot/exts/utilities/reddit.py | 2 | ||||
| -rw-r--r-- | bot/exts/utilities/wolfram.py | 2 | 
15 files changed, 27 insertions, 27 deletions
| diff --git a/bot/exts/events/hacktoberfest/hacktober-issue-finder.py b/bot/exts/events/hacktoberfest/hacktober-issue-finder.py index aeffc8d7..4f7bef5d 100644 --- a/bot/exts/events/hacktoberfest/hacktober-issue-finder.py +++ b/bot/exts/events/hacktoberfest/hacktober-issue-finder.py @@ -18,7 +18,7 @@ REQUEST_HEADERS = {      "User-Agent": "Python Discord Hacktoberbot",      "Accept": "application / vnd.github.v3 + json"  } -if GITHUB_TOKEN := Tokens.github: +if GITHUB_TOKEN := Tokens.github.get_secret_value():      REQUEST_HEADERS["Authorization"] = f"token {GITHUB_TOKEN}" diff --git a/bot/exts/events/hacktoberfest/hacktoberstats.py b/bot/exts/events/hacktoberfest/hacktoberstats.py index c29e24b0..0b4266d8 100644 --- a/bot/exts/events/hacktoberfest/hacktoberstats.py +++ b/bot/exts/events/hacktoberfest/hacktoberstats.py @@ -24,8 +24,8 @@ REQUEST_HEADERS = {"User-Agent": "Python Discord Hacktoberbot"}  # using repo topics API during preview period requires an accept header  GITHUB_TOPICS_ACCEPT_HEADER = {"Accept": "application/vnd.github.mercy-preview+json"}  if GITHUB_TOKEN := Tokens.github: -    REQUEST_HEADERS["Authorization"] = f"token {GITHUB_TOKEN}" -    GITHUB_TOPICS_ACCEPT_HEADER["Authorization"] = f"token {GITHUB_TOKEN}" +    REQUEST_HEADERS["Authorization"] = f"token {GITHUB_TOKEN.get_secret_value()}" +    GITHUB_TOPICS_ACCEPT_HEADER["Authorization"] = f"token {GITHUB_TOKEN.get_secret_value()}"  GITHUB_NONEXISTENT_USER_MESSAGE = (      "The listed users cannot be searched either because the users do not exist " diff --git a/bot/exts/fun/game.py b/bot/exts/fun/game.py index a8b0b3a0..c38dc063 100644 --- a/bot/exts/fun/game.py +++ b/bot/exts/fun/game.py @@ -20,8 +20,8 @@ from bot.utils.pagination import ImagePaginator, LinePaginator  # Base URL of IGDB API  BASE_URL = "https://api.igdb.com/v4" -CLIENT_ID = Tokens.igdb_client_id -CLIENT_SECRET = Tokens.igdb_client_secret +CLIENT_ID = Tokens.igdb_client_id.get_secret_value() +CLIENT_SECRET = Tokens.igdb_client_secret.get_secret_value()  # The number of seconds before expiry that we attempt to re-fetch a new access token  ACCESS_TOKEN_RENEWAL_WINDOW = 60*60*24*2 diff --git a/bot/exts/fun/movie.py b/bot/exts/fun/movie.py index 422a83ac..73ef0a3c 100644 --- a/bot/exts/fun/movie.py +++ b/bot/exts/fun/movie.py @@ -22,7 +22,7 @@ THUMBNAIL_URL = "https://i.imgur.com/LtFtC8H.png"  # Define movie params, that will be used for every movie request  MOVIE_PARAMS = { -    "api_key": Tokens.tmdb, +    "api_key": Tokens.tmdb.get_secret_value(),      "language": "en-US"  } @@ -106,7 +106,7 @@ class Movie(Cog):          """Return JSON of TMDB discover request."""          # Define params of request          params = { -            "api_key": Tokens.tmdb, +            "api_key": Tokens.tmdb.get_secret_value(),              "language": "en-US",              "sort_by": "popularity.desc",              "include_adult": "false", diff --git a/bot/exts/fun/snakes/_snakes_cog.py b/bot/exts/fun/snakes/_snakes_cog.py index d0542c23..892a3dd2 100644 --- a/bot/exts/fun/snakes/_snakes_cog.py +++ b/bot/exts/fun/snakes/_snakes_cog.py @@ -773,7 +773,7 @@ class Snakes(Cog):                      "query": "snake",                      "page": page,                      "language": "en-US", -                    "api_key": Tokens.tmdb, +                    "api_key": Tokens.tmdb.get_secret_value(),                  }              )              data = await response.json() @@ -785,7 +785,7 @@ class Snakes(Cog):                  f"https://api.themoviedb.org/3/movie/{movie}",                  params={                      "language": "en-US", -                    "api_key": Tokens.tmdb, +                    "api_key": Tokens.tmdb.get_secret_value(),                  }              )              data = await response.json() @@ -1095,7 +1095,7 @@ class Snakes(Cog):                  "part": "snippet",                  "q": urllib.parse.quote_plus(query),                  "type": "video", -                "key": Tokens.youtube +                "key": Tokens.youtube.get_secret_value()              }          )          response = await response.json() diff --git a/bot/exts/fun/space.py b/bot/exts/fun/space.py index 22a89050..c688b281 100644 --- a/bot/exts/fun/space.py +++ b/bot/exts/fun/space.py @@ -210,7 +210,7 @@ class Space(Cog):          """Fetch information from NASA API, return result."""          params = {}          if use_api_key: -            params["api_key"] = Tokens.nasa +            params["api_key"] = Tokens.nasa.get_secret_value()          # Add additional parameters to request parameters only when they provided by user          if additional_params is not None: diff --git a/bot/exts/holidays/easter/earth_photos.py b/bot/exts/holidays/easter/earth_photos.py index e60e2626..013122c8 100644 --- a/bot/exts/holidays/easter/earth_photos.py +++ b/bot/exts/holidays/easter/earth_photos.py @@ -23,7 +23,7 @@ class EarthPhotos(commands.Cog):          async with ctx.typing():              async with self.bot.http_session.get(                      API_URL, -                    params={"query": "planet_earth", "client_id": Tokens.unsplash_access_key} +                    params={"query": "planet_earth", "client_id": Tokens.unsplash.get_secret_value()}              ) as r:                  jsondata = await r.json()                  linksdata = jsondata.get("urls") @@ -37,7 +37,7 @@ class EarthPhotos(commands.Cog):                  rf = "?utm_source=Sir%20Lancebot&utm_medium=referral"              async with self.bot.http_session.get(                  downloadlinksdata.get("download_location"), -                    params={"client_id": Tokens.unsplash_access_key} +                    params={"client_id": Tokens.unsplash.get_secret_value()}              ) as _:                  pass @@ -59,7 +59,7 @@ class EarthPhotos(commands.Cog):  async def setup(bot: Bot) -> None:      """Load the Earth Photos cog.""" -    if not Tokens.unsplash_access_key: +    if not Tokens.unsplash:          log.warning("No Unsplash access key found. Cog not loading.")          return      await bot.add_cog(EarthPhotos(bot)) diff --git a/bot/exts/holidays/halloween/scarymovie.py b/bot/exts/holidays/halloween/scarymovie.py index 9f1a95fd..00c96153 100644 --- a/bot/exts/holidays/halloween/scarymovie.py +++ b/bot/exts/holidays/halloween/scarymovie.py @@ -36,7 +36,7 @@ class ScaryMovie(commands.Cog):          """Selects a random movie and returns a JSON of movie details from TMDb."""          url = "https://api.themoviedb.org/3/discover/movie"          params = { -            "api_key": Tokens.tmdb, +            "api_key": Tokens.tmdb.get_secret_value(),              "with_genres": "27",              "vote_count.gte": "5",              "include_adult": "false" @@ -65,7 +65,7 @@ class ScaryMovie(commands.Cog):          # Get full details and credits          async with self.bot.http_session.get(              url=f"https://api.themoviedb.org/3/movie/{selection_id}", -            params={"api_key": Tokens.tmdb, "append_to_response": "credits"} +            params={"api_key": Tokens.tmdb.get_secret_value(), "append_to_response": "credits"}          ) as selection:              return await selection.json() diff --git a/bot/exts/holidays/halloween/spookygif.py b/bot/exts/holidays/halloween/spookygif.py index 750e86ca..7a90a8a9 100644 --- a/bot/exts/holidays/halloween/spookygif.py +++ b/bot/exts/holidays/halloween/spookygif.py @@ -21,7 +21,7 @@ class SpookyGif(commands.Cog):      async def spookygif(self, ctx: commands.Context) -> None:          """Fetches a random gif from the GIPHY API and responds with it."""          async with ctx.typing(): -            params = {"api_key": Tokens.giphy, "tag": "halloween", "rating": "g"} +            params = {"api_key": Tokens.giphy.get_secret_value(), "tag": "halloween", "rating": "g"}              # Make a GET request to the Giphy API to get a random halloween gif.              async with self.bot.http_session.get(API_URL, params=params) as resp:                  data = await resp.json() diff --git a/bot/exts/holidays/valentines/be_my_valentine.py b/bot/exts/holidays/valentines/be_my_valentine.py index 5ffd14e6..3a2beef3 100644 --- a/bot/exts/holidays/valentines/be_my_valentine.py +++ b/bot/exts/holidays/valentines/be_my_valentine.py @@ -7,7 +7,7 @@ import discord  from discord.ext import commands  from bot.bot import Bot -from bot.constants import Channels, Colours, Lovefest, Month, PYTHON_PREFIX +from bot.constants import Channels, Colours, Month, PYTHON_PREFIX, Roles  from bot.utils.decorators import in_month  from bot.utils.exceptions import MovedCommandError @@ -60,7 +60,7 @@ class BeMyValentine(commands.Cog):              # This command should only be used in the server              raise commands.UserInputError("You are supposed to use this command in the server.") -        if Lovefest.role_id not in [role.id for role in user.roles]: +        if Roles.lovefest not in [role.id for role in user.roles]:              raise commands.UserInputError(                  f"You cannot send a valentine to {user} as they do not have the lovefest role!"              ) @@ -95,7 +95,7 @@ class BeMyValentine(commands.Cog):          example : .bemyvalentine secret Iceman#6508 Hey I love you, wanna hang around ? (sends the custom message to          Iceman in DM making you anonymous)          """ -        if Lovefest.role_id not in [role.id for role in user.roles]: +        if Roles.lovefest not in [role.id for role in user.roles]:              await ctx.message.delete()              raise commands.UserInputError(                  f"You cannot send a valentine to {user} as they do not have the lovefest role!" diff --git a/bot/exts/holidays/valentines/lovecalculator.py b/bot/exts/holidays/valentines/lovecalculator.py index c212e833..eab3d083 100644 --- a/bot/exts/holidays/valentines/lovecalculator.py +++ b/bot/exts/holidays/valentines/lovecalculator.py @@ -12,7 +12,7 @@ from discord.ext import commands  from discord.ext.commands import BadArgument, Cog, clean_content  from bot.bot import Bot -from bot.constants import Channels, Lovefest, Month, PYTHON_PREFIX +from bot.constants import Channels, Month, PYTHON_PREFIX, Roles  from bot.utils.decorators import in_month  log = logging.getLogger(__name__) @@ -45,8 +45,8 @@ class LoveCalculator(Cog):            Running .love @chrisjl#2655 @joe#6000 will yield the same result as before.          """          if ( -            Lovefest.role_id not in [role.id for role in who.roles] -            or (whom is not None and Lovefest.role_id not in [role.id for role in whom.roles]) +            Roles.lovefest not in [role.id for role in who.roles] +            or (whom is not None and Roles.lovefest not in [role.id for role in whom.roles])          ):              raise BadArgument(                  "This command can only be ran against members with the lovefest role! " diff --git a/bot/exts/utilities/cheatsheet.py b/bot/exts/utilities/cheatsheet.py index 3141a050..d7eb4917 100644 --- a/bot/exts/utilities/cheatsheet.py +++ b/bot/exts/utilities/cheatsheet.py @@ -80,7 +80,7 @@ class CheatSheet(commands.Cog):          aliases=("cht.sh", "cheatsheet", "cheat-sheet", "cht"),      )      @commands.cooldown(1, 10, BucketType.user) -    @whitelist_override(categories=[Categories.help_in_use]) +    @whitelist_override(categories=[Categories.python_help_system])      async def cheat_sheet(self, ctx: Context, *search_terms: str) -> None:          """          Search cheat.sh. diff --git a/bot/exts/utilities/githubinfo.py b/bot/exts/utilities/githubinfo.py index a7979718..4e008e9f 100644 --- a/bot/exts/utilities/githubinfo.py +++ b/bot/exts/utilities/githubinfo.py @@ -26,7 +26,7 @@ ISSUE_ENDPOINT = "https://api.github.com/repos/{user}/{repository}/issues/{numbe  PR_ENDPOINT = "https://api.github.com/repos/{user}/{repository}/pulls/{number}"  if Tokens.github: -    REQUEST_HEADERS["Authorization"] = f"token {Tokens.github}" +    REQUEST_HEADERS["Authorization"] = f"token {Tokens.github.get_secret_value()}"  CODE_BLOCK_RE = re.compile(      r"^`([^`\n]+)`"   # Inline codeblock diff --git a/bot/exts/utilities/reddit.py b/bot/exts/utilities/reddit.py index 028c16bc..43a82aef 100644 --- a/bot/exts/utilities/reddit.py +++ b/bot/exts/utilities/reddit.py @@ -36,7 +36,7 @@ class Reddit(Cog):          self.webhook = None          self.access_token = None -        self.client_auth = BasicAuth(RedditConfig.client_id, RedditConfig.secret) +        self.client_auth = BasicAuth(RedditConfig.client_id.get_secret_value(), RedditConfig.secret.get_secret_value())          self.auto_poster_loop.start() diff --git a/bot/exts/utilities/wolfram.py b/bot/exts/utilities/wolfram.py index a2f1228a..a036b50f 100644 --- a/bot/exts/utilities/wolfram.py +++ b/bot/exts/utilities/wolfram.py @@ -15,7 +15,7 @@ from bot.utils.pagination import ImagePaginator  log = logging.getLogger(__name__) -APPID = Wolfram.key +APPID = Wolfram.key.get_secret_value()  DEFAULT_OUTPUT_FORMAT = "JSON"  QUERY = "http://api.wolframalpha.com/v2/{request}"  WOLF_IMAGE = "https://www.symbols.com/gi.php?type=1&id=2886&i=1" | 
