diff options
| author | 2020-09-21 17:09:15 +0800 | |
|---|---|---|
| committer | 2020-09-21 18:42:22 +0800 | |
| commit | 6b423808fac9a3f2814ebda889830c505c2d277e (patch) | |
| tree | 8e896a44c64af8c223a02d4c5cd450bc0c11fa3c | |
| parent | Move Channels information to embed field. (diff) | |
Move member status information to embed field.
| -rw-r--r-- | bot/exts/info/information.py | 21 | ||||
| -rw-r--r-- | tests/bot/exts/info/test_information.py | 17 |
2 files changed, 21 insertions, 17 deletions
diff --git a/bot/exts/info/information.py b/bot/exts/info/information.py index b7c96acbd..25bde0888 100644 --- a/bot/exts/info/information.py +++ b/bot/exts/info/information.py @@ -20,9 +20,10 @@ from bot.utils.time import time_since log = logging.getLogger(__name__) STATUS_EMOTES = { - Status.offline: constants.Emojis.status_offline, + Status.online: constants.Emojis.status_online, + Status.idle: constants.Emojis.status_idle, Status.dnd: constants.Emojis.status_dnd, - Status.idle: constants.Emojis.status_idle + Status.offline: constants.Emojis.status_offline, } @@ -154,9 +155,6 @@ class Information(Cog): roles = len(ctx.guild.roles) member_count = ctx.guild.member_count - # How many of each user status? - statuses = Counter(member.status for member in ctx.guild.members) - # How many staff members and staff channels do we have? staff_member_count = len(ctx.guild.get_role(constants.Roles.helpers).members) staff_channel_count = self.get_staff_channel_count(ctx.guild) @@ -168,6 +166,13 @@ class Information(Cog): ) embed.add_field(name=f"Channels: {total_channels}", value=channel_counts) + # Member status + status_count = Counter(member.status for member in ctx.guild.members) + member_status = " ".join( + f"{emoji} {status_count[status]:,}" for status, emoji in STATUS_EMOTES.items() + ) + embed.add_field(name="Member Status:", value=member_status, inline=False) + embed.description = textwrap.dedent(f""" Created: {created} Voice region: {region} @@ -177,12 +182,6 @@ class Information(Cog): Members: {member_count:,} Staff members: {staff_member_count} Roles: {roles} - - **Member statuses** - {constants.Emojis.status_online} {statuses[Status.online]:,} - {constants.Emojis.status_idle} {statuses[Status.idle]:,} - {constants.Emojis.status_dnd} {statuses[Status.dnd]:,} - {constants.Emojis.status_offline} {statuses[Status.offline]:,} """) embed.set_thumbnail(url=ctx.guild.icon_url) diff --git a/tests/bot/exts/info/test_information.py b/tests/bot/exts/info/test_information.py index 7a65d6c2b..f09f815eb 100644 --- a/tests/bot/exts/info/test_information.py +++ b/tests/bot/exts/info/test_information.py @@ -152,16 +152,11 @@ class InformationCogTests(unittest.TestCase): Members: {self.ctx.guild.member_count:,} Staff members: 0 Roles: {len(self.ctx.guild.roles)} - - **Member statuses** - {constants.Emojis.status_online} 2 - {constants.Emojis.status_idle} 1 - {constants.Emojis.status_dnd} 4 - {constants.Emojis.status_offline} 3 """ ) ) + # Channels channel_field = embed.fields[0] self.assertEqual(channel_field.name, "Channels: 3") self.assertEqual( @@ -173,6 +168,16 @@ class InformationCogTests(unittest.TestCase): Staff channels: 0 """).strip(), ) + + # Member status + status_field = embed.fields[1] + self.assertEqual(status_field.name, "Member Status:") + self.assertEqual( + status_field.value, + f"{constants.Emojis.status_online} 2 {constants.Emojis.status_idle} 1 " + f"{constants.Emojis.status_dnd} 4 {constants.Emojis.status_offline} 3" + ) + self.assertEqual(embed.thumbnail.url, 'a-lemon.jpg') |