Skip to content

Commit 7e2f490

Browse files
committed
Show attendee names in embed
1 parent e8dfd6d commit 7e2f490

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ The project uses semantic versioning (see [SemVer](https://semver.org)).
55

66
## [Unreleased]
77

8+
### Added
9+
10+
- Event embeds now show the name of attendees who have clicked the attend reaction.
11+
812
## v0.52.0 - 2025-04-01
913

1014
### Changed

src/operationbot/event.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,12 @@ def createEmbed(self, cache=True) -> Embed | None:
368368
hash_string += f"{hash_string}{group.name}\n"
369369

370370
if self.sideop or cfg.ALWAYS_DISPLAY_ATTENDANCE:
371-
attendees = f"Attendees: {len(self.attendees)}\n\n"
371+
if self.attendees:
372+
attendee_names = [user.display_name for user in self.attendees]
373+
name_string = "\n- " + "\n- ".join(attendee_names)
374+
else:
375+
name_string = ""
376+
attendees = f"Other attendees: {len(self.attendees)}{name_string}\n\n"
372377
else:
373378
attendees = ""
374379
footer_text = f"{attendees}Event ID: {str(self.id)}"

tests/test_event.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from discord import Embed
55

66
from operationbot import config as cfg
7-
from operationbot.event import Event
7+
from operationbot.event import Event, User
88

99

1010
def _timestamp(date: datetime) -> int:
@@ -113,3 +113,19 @@ def test_cancel():
113113
event.cancelled = True
114114

115115
assert event.title == "Cancelled Operation"
116+
117+
118+
def test_footer():
119+
date = datetime(2020, 1, 1, 12, 0, 0)
120+
event = Event(date, guildEmojis=(), platoon_size="empty")
121+
user1 = User(1, "User 1")
122+
user2 = User(2, "User 2")
123+
assert len(event.attendees) == 0
124+
embed = cast(Embed, event.createEmbed(cache=False))
125+
assert embed.footer.text == "Other attendees: 0\n\nEvent ID: 0"
126+
127+
event.add_attendee(user1)
128+
event.add_attendee(user2)
129+
assert len(event.attendees) == 2
130+
embed = cast(Embed, event.createEmbed(cache=False))
131+
assert embed.footer.text == "Other attendees: 2\n- User 1\n- User 2\n\nEvent ID: 0"

0 commit comments

Comments
 (0)