aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/exts/evergreen/githubinfo.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/bot/exts/evergreen/githubinfo.py b/bot/exts/evergreen/githubinfo.py
index 8183dd0c..b0e7c9f0 100644
--- a/bot/exts/evergreen/githubinfo.py
+++ b/bot/exts/evergreen/githubinfo.py
@@ -3,7 +3,6 @@ import random
from datetime import datetime
from typing import Optional
-import aiohttp
import discord
from discord.ext import commands
from discord.ext.commands.cooldowns import BucketType
@@ -20,24 +19,22 @@ class GithubInfo(commands.Cog):
self.bot = bot
@staticmethod
- async def fetch_data(url: str) -> dict:
+ async def fetch_data(self, url: str) -> dict:
"""Retrieve data as a dictionary."""
- async with aiohttp.ClientSession() as cs:
- async with cs.get(url) as r:
- return await r.json()
+ async with self.bot.http_session.get(url) as r:
+ return await r.json()
@commands.command(name='github', aliases=['gh'])
- @commands.cooldown(1, 5, BucketType.user)
+ @commands.cooldown(1, 60, BucketType.user)
async def get_github_info(self, ctx: commands.Context, username: Optional[str]) -> None:
"""
Fetches a user's GitHub information.
Username is optional and sends the help command if not specified.
-
- Usage: .gh [username]
"""
if username is None:
await ctx.invoke(self.bot.get_command('help'), 'github')
+ ctx.command.reset_cooldown(ctx)
return
async with ctx.typing():
@@ -53,7 +50,7 @@ class GithubInfo(commands.Cog):
orgs = [f"[{org['login']}](https://github.com/{org['login']})" for org in org_data]
orgs_to_add = ' | '.join(orgs)
- starred_data = await self.fetch_data(user_data['starred_url'])
+ gists_data = await self.fetch_data(f"https://api.github.com/users/{username}/gists")
# Forming blog link
if user_data['blog'].startswith("http"): # Blog link is complete
@@ -61,7 +58,7 @@ class GithubInfo(commands.Cog):
elif user_data['blog']: # Blog exists but the link is not complete
blog = f"https://{user_data['blog']}"
else:
- blog = "No blog link available"
+ blog = "No website link available"
embed = discord.Embed(
title=f"`{user_data['login']}`'s GitHub profile info",
@@ -86,12 +83,12 @@ class GithubInfo(commands.Cog):
embed.add_field(name="\u200b", value="\u200b")
if user_data['type'] == "User":
- embed.add_field(name="Starred repos", value=f"[{len(starred_data)}]({user_data['html_url']}?tab=stars)")
+ embed.add_field(name="Gists", value=f"[{len(gists_data)}](https://gist.github.com/{username})")
embed.add_field(name=f"Organization{'s' if len(orgs)!=1 else ''}",
value=orgs_to_add if orgs else "No organizations")
embed.add_field(name="\u200b", value="\u200b")
- embed.add_field(name="Blog", value=blog)
+ embed.add_field(name="Website", value=blog)
await ctx.send(embed=embed)