aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar kosayoda <[email protected]>2020-09-21 17:09:15 +0800
committerGravatar kosayoda <[email protected]>2020-09-21 18:42:22 +0800
commit6b423808fac9a3f2814ebda889830c505c2d277e (patch)
tree8e896a44c64af8c223a02d4c5cd450bc0c11fa3c
parentMove Channels information to embed field. (diff)
Move member status information to embed field.
-rw-r--r--bot/exts/info/information.py21
-rw-r--r--tests/bot/exts/info/test_information.py17
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')