aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar TizzySaurus <[email protected]>2021-12-29 20:38:05 +0000
committerGravatar GitHub <[email protected]>2021-12-29 20:38:05 +0000
commit681771b945ad9c3968323c083c3ed45a32ba37bf (patch)
tree2bceb98ad5317eae19a08f775bf0b1a573a44abc
parentStrip gotcha tag (PR #2000) (diff)
Add text indicating when user fetched by message (#2013)
Co-authored-by: Xithrius <[email protected]>
-rw-r--r--bot/exts/info/information.py10
-rw-r--r--tests/bot/exts/info/test_information.py24
2 files changed, 18 insertions, 16 deletions
diff --git a/bot/exts/info/information.py b/bot/exts/info/information.py
index d0e1eae74..1f95c460f 100644
--- a/bot/exts/info/information.py
+++ b/bot/exts/info/information.py
@@ -227,7 +227,7 @@ class Information(Cog):
@command(name="user", aliases=["user_info", "member", "member_info", "u"])
async def user_info(self, ctx: Context, user_or_message: Union[MemberOrUser, Message] = None) -> None:
"""Returns info about a user."""
- if isinstance(user_or_message, Message):
+ if passed_as_message := isinstance(user_or_message, Message):
user = user_or_message.author
else:
user = user_or_message
@@ -242,10 +242,10 @@ class Information(Cog):
# Will redirect to #bot-commands if it fails.
if in_whitelist_check(ctx, roles=constants.STAFF_PARTNERS_COMMUNITY_ROLES):
- embed = await self.create_user_embed(ctx, user)
+ embed = await self.create_user_embed(ctx, user, passed_as_message)
await ctx.send(embed=embed)
- async def create_user_embed(self, ctx: Context, user: MemberOrUser) -> Embed:
+ async def create_user_embed(self, ctx: Context, user: MemberOrUser, passed_as_message: bool) -> Embed:
"""Creates an embed containing information on the `user`."""
on_server = bool(await get_or_fetch_member(ctx.guild, user.id))
@@ -256,6 +256,9 @@ class Information(Cog):
name = f"{user.nick} ({name})"
name = escape_markdown(name)
+ if passed_as_message:
+ name += " - From Message"
+
if user.public_flags.verified_bot:
name += f" {constants.Emojis.verified_bot}"
elif user.bot:
@@ -282,7 +285,6 @@ class Information(Cog):
membership = textwrap.dedent("\n".join([f"{key}: {value}" for key, value in membership.items()]))
else:
- roles = None
membership = "The user is not a member of the server"
fields = [
diff --git a/tests/bot/exts/info/test_information.py b/tests/bot/exts/info/test_information.py
index 724456b04..30e5258fb 100644
--- a/tests/bot/exts/info/test_information.py
+++ b/tests/bot/exts/info/test_information.py
@@ -289,7 +289,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
user.__str__ = unittest.mock.Mock(return_value="Mr. Hemlock")
user.colour = 0
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
self.assertEqual(embed.title, "Mr. Hemlock")
@@ -310,7 +310,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
user.__str__ = unittest.mock.Mock(return_value="Mr. Hemlock")
user.colour = 0
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
self.assertEqual(embed.title, "Cat lover (Mr. Hemlock)")
@@ -330,7 +330,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
# A `MockMember` has the @Everyone role by default; we add the Admins to that.
user = helpers.MockMember(roles=[admins_role], colour=100)
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
self.assertIn("&Admins", embed.fields[1].value)
self.assertNotIn("&Everyone", embed.fields[1].value)
@@ -355,7 +355,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
nomination_counts.return_value = ("Nominations", "nomination info")
user = helpers.MockMember(id=314, roles=[moderators_role], colour=100)
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
infraction_counts.assert_called_once_with(user)
nomination_counts.assert_called_once_with(user)
@@ -394,7 +394,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
user_messages.return_value = ("Messages", "user message counts")
user = helpers.MockMember(id=314, roles=[moderators_role], colour=100)
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
infraction_counts.assert_called_once_with(user)
@@ -440,7 +440,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
moderators_role = helpers.MockRole(name='Moderators')
user = helpers.MockMember(id=314, roles=[moderators_role], colour=100)
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
self.assertEqual(embed.colour, discord.Colour(100))
@@ -457,7 +457,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
ctx = helpers.MockContext()
user = helpers.MockMember(id=217, colour=discord.Colour.default())
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
self.assertEqual(embed.colour, discord.Colour.og_blurple())
@@ -475,7 +475,7 @@ class UserEmbedTests(unittest.IsolatedAsyncioTestCase):
user = helpers.MockMember(id=217, colour=0)
user.display_avatar.url = "avatar url"
- embed = await self.cog.create_user_embed(ctx, user)
+ embed = await self.cog.create_user_embed(ctx, user, False)
self.assertEqual(embed.thumbnail.url, "avatar url")
@@ -528,7 +528,7 @@ class UserCommandTests(unittest.IsolatedAsyncioTestCase):
await self.cog.user_info(self.cog, ctx)
- create_embed.assert_called_once_with(ctx, self.author)
+ create_embed.assert_called_once_with(ctx, self.author, False)
ctx.send.assert_called_once()
@unittest.mock.patch("bot.exts.info.information.Information.create_user_embed")
@@ -539,7 +539,7 @@ class UserCommandTests(unittest.IsolatedAsyncioTestCase):
await self.cog.user_info(self.cog, ctx, self.author)
- create_embed.assert_called_once_with(ctx, self.author)
+ create_embed.assert_called_once_with(ctx, self.author, False)
ctx.send.assert_called_once()
@unittest.mock.patch("bot.exts.info.information.Information.create_user_embed")
@@ -550,7 +550,7 @@ class UserCommandTests(unittest.IsolatedAsyncioTestCase):
await self.cog.user_info(self.cog, ctx)
- create_embed.assert_called_once_with(ctx, self.moderator)
+ create_embed.assert_called_once_with(ctx, self.moderator, False)
ctx.send.assert_called_once()
@unittest.mock.patch("bot.exts.info.information.Information.create_user_embed")
@@ -562,5 +562,5 @@ class UserCommandTests(unittest.IsolatedAsyncioTestCase):
await self.cog.user_info(self.cog, ctx, self.target)
- create_embed.assert_called_once_with(ctx, self.target)
+ create_embed.assert_called_once_with(ctx, self.target, False)
ctx.send.assert_called_once()