From 9f65213ea6cffaf72b01635cb30b37db1b34de0d Mon Sep 17 00:00:00 2001 From: Zevaryx Date: Fri, 25 Mar 2022 12:48:03 -0600 Subject: [PATCH] URL fixes, catches for empty/non-existent data --- jarvis/cogs/util.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/jarvis/cogs/util.py b/jarvis/cogs/util.py index 7e195ef..61b3da2 100644 --- a/jarvis/cogs/util.py +++ b/jarvis/cogs/util.py @@ -13,7 +13,7 @@ from dis_snek.models.discord.embed import EmbedField from dis_snek.models.discord.file import File from dis_snek.models.discord.guild import Guild from dis_snek.models.discord.role import Role -from dis_snek.models.discord.user import User +from dis_snek.models.discord.user import Member, User from dis_snek.models.snek.application_commands import ( OptionTypes, SlashCommandChoice, @@ -54,6 +54,12 @@ class UtilCog(Scale): fields.append(EmbedField(name="dis-snek", value=const.__version__)) fields.append(EmbedField(name="Version", value=jarvis.__version__, inline=False)) fields.append(EmbedField(name="Git Hash", value=get_repo_hash()[:7], inline=False)) + num_domains = len(self.bot.phishing_domains) + fields.append( + EmbedField( + name="Phishing Protection", value=f"Detecting {num_domains} phishing domains" + ) + ) embed = build_embed(title=title, description=desc, fields=fields, color=color) await ctx.send(embed=embed) @@ -96,6 +102,8 @@ class UtilCog(Scale): to_send += f":{names[id]}:" if len(to_send) > 2000: await ctx.send("Too long.", ephemeral=True) + elif len(to_send) == 0: + await ctx.send("No valid text found", ephemeral=True) else: await ctx.send(to_send) @@ -111,7 +119,10 @@ class UtilCog(Scale): if not user: user = ctx.author - avatar = user.display_avatar.url + avatar = user.avatar.url + if isinstance(user, Member): + avatar = user.display_avatar.url + embed = build_embed(title="Avatar", description="", fields=[], color="#00FFEE") embed.set_image(url=avatar) embed.set_author(name=f"{user.username}#{user.discriminator}", icon_url=avatar) @@ -175,8 +186,12 @@ class UtilCog(Scale): required=False, ) async def _userinfo(self, ctx: InteractionContext, user: User = None) -> None: + await ctx.defer() if not user: user = ctx.author + if not await ctx.guild.fetch_member(user.id): + await ctx.send("That user isn't in this guild.", ephemeral=True) + return user_roles = user.roles if user_roles: user_roles = sorted(user.roles, key=lambda x: -x.position)