Repository navigation
v0.5.0 — Reaction voting
Reaction voting. Emoji reactions on session_proposed messages are now translated into Quest Board availability votes in real time.
Changed
bot/cogs/voting.py— full implementation replacing the v0.1.0 stub:on_raw_reaction_add— recordsavailability="yes"when a user adds a slot emoji (🇦–🇪) to a session_proposed messageon_raw_reaction_remove— recordsavailability="no"when a user removes a slot emoji- Looks up the message→session mapping via
NotificationsCog.get_message_mapping(Redis-backed, 30-day TTL) to resolve emoji position to aslot_idwithout a Quest Board round-trip - Calls
GET /api/bot/platform-links/discord/{user_id}before voting; on 404 sends the user a DM prompting them to run/link - Ignores the bot's own seed reactions, non-slot emojis, and messages with no stored mapping; logs and swallows API errors so transient failures don't surface as Discord errors