aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar xithrius <[email protected]>2021-02-11 02:40:42 -0800
committerGravatar xithrius <[email protected]>2021-02-11 02:40:42 -0800
commit84c0aa4268f91027cd71016e01a00ffe59151cc2 (patch)
treeba384a37740c9e3cf77b08d7934d8aeaa744fe79
parentMerge pull request #1398 from anand2312/patch-1 (diff)
Added base of the pypi command.
-rw-r--r--bot/exts/info/pypi.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/bot/exts/info/pypi.py b/bot/exts/info/pypi.py
new file mode 100644
index 000000000..9567516c2
--- /dev/null
+++ b/bot/exts/info/pypi.py
@@ -0,0 +1,35 @@
+from discord import Embed
+from discord.ext.commands import Cog, Context, command
+
+from bot.bot import Bot
+from bot.constants import NEGATIVE_REPLIES
+
+URL = "https://pypi.org/pypi/{package}/json"
+
+
+class PyPi(Cog):
+ """Cog for getting information about PyPi packages."""
+
+ def __init__(self, bot: Bot):
+ self.bot = bot
+
+ @command(name="pypi", aliases=("package", "pack"))
+ async def get_package_info(self, ctx: Context, package: str) -> None:
+ """Getting information about a specific package."""
+ embed = Embed(title="PyPi package information")
+
+ async with self.bot.http_session.get(URL.format(package_name=package)) as response:
+ if response.status == 404:
+ return await ctx.send(f"Package with name '{package}' could not be found.")
+ elif response.status == 200 and response.content_type == "application/json":
+ response_json = await response.json()
+ info = response_json["info"]
+ else:
+ return await ctx.send("There was an error when fetching your PyPi package.")
+
+ await ctx.send(embed=embed)
+
+
+def setup(bot: Bot) -> None:
+ """Load the PyPi cog."""
+ bot.add_cog(PyPi(bot))