Skip to content

Commit 90d78cf

Browse files
committed
Fix a bug in update related commands
1 parent a84cb9c commit 90d78cf

File tree

4 files changed

+33
-20
lines changed

4 files changed

+33
-20
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66
This project mostly adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html);
77
however, insignificant breaking changes do not guarantee a major version bump, see the reasoning [here](https://github.com/kyb3r/modmail/issues/319). If you're a plugin developer, note the "BREAKING" section.
88

9-
# v3.7.0-dev17
9+
# v3.7.0-dev18
1010

1111
### Added
1212

bot.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "3.7.0-dev17"
1+
__version__ = "3.7.0-dev18"
22

33

44
import asyncio

cogs/utility.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1835,13 +1835,18 @@ async def github(self, ctx):
18351835
"""Shows the GitHub user your Github_Token is linked to."""
18361836
data = await self.bot.api.get_user_info()
18371837

1838-
embed = discord.Embed(
1839-
title="GitHub", description="Current User", color=self.bot.main_color
1840-
)
1841-
user = data["user"]
1842-
embed.set_author(name=user["username"], icon_url=user["avatar_url"], url=user["url"])
1843-
embed.set_thumbnail(url=user["avatar_url"])
1844-
await ctx.send(embed=embed)
1838+
if data:
1839+
embed = discord.Embed(
1840+
title="GitHub", description="Current User", color=self.bot.main_color
1841+
)
1842+
user = data["user"]
1843+
embed.set_author(name=user["username"], icon_url=user["avatar_url"], url=user["url"])
1844+
embed.set_thumbnail(url=user["avatar_url"])
1845+
await ctx.send(embed=embed)
1846+
else:
1847+
await ctx.send(embed=discord.Embed(
1848+
title="Invalid Github Token", color=self.bot.error_color
1849+
))
18451850

18461851
@commands.command()
18471852
@checks.has_permissions(PermissionLevel.OWNER)
@@ -1869,7 +1874,7 @@ async def update(self, ctx, *, flag: str = ""):
18691874
)
18701875

18711876
data = await self.bot.api.get_user_info()
1872-
if not data.get("error"):
1877+
if data:
18731878
user = data["user"]
18741879
embed.set_author(
18751880
name=user["username"], icon_url=user["avatar_url"], url=user["url"]

core/clients.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from motor.motor_asyncio import AsyncIOMotorClient
1212
from pymongo.errors import ConfigurationError
1313

14-
from core.models import getLogger
14+
from core.models import InvalidConfigError, getLogger
1515

1616
logger = getLogger(__name__)
1717

@@ -201,11 +201,15 @@ async def login(cls, bot) -> "GitHub":
201201
"""
202202
self = cls(bot, bot.config.get("github_token"))
203203
resp: dict = await self.request("https://api.github.com/user")
204-
self.username = resp["login"]
205-
self.avatar_url = resp["avatar_url"]
206-
self.url = resp["html_url"]
207-
logger.info(f"GitHub logged in to: {self.username}")
208-
return self
204+
if resp.get("login"):
205+
self.username = resp["login"]
206+
self.avatar_url = resp["avatar_url"]
207+
self.url = resp["html_url"]
208+
logger.info(f"GitHub logged in to: {self.username}")
209+
return self
210+
else:
211+
raise InvalidConfigError("Invalid github token")
212+
209213

210214

211215
class ApiClient:
@@ -654,10 +658,14 @@ async def update_repository(self) -> dict:
654658
}
655659

656660
async def get_user_info(self) -> dict:
657-
user = await GitHub.login(self.bot)
658-
return {
659-
"user": {"username": user.username, "avatar_url": user.avatar_url, "url": user.url,}
660-
}
661+
try:
662+
user = await GitHub.login(self.bot)
663+
except InvalidConfigError:
664+
return None
665+
else:
666+
return {
667+
"user": {"username": user.username, "avatar_url": user.avatar_url, "url": user.url,}
668+
}
661669

662670

663671
class PluginDatabaseClient:

0 commit comments

Comments
 (0)