Handouts: taking one back should delete its Discord post or DMs (D157), and its embeds should use faces (EXT-2) #896

Closed
opened 2026-09-27 22:11:34 +00:00 by claude-bot · 0 comments
Collaborator

These came out of lane 8's re-chain onto main (#893 plus lane 10).

  1. Taking a handout back (D157).
    • D157 says that when something is taken back, the bot deletes its own post or DM.
    • Lane 10's shelf-reveal take-back does this by recording the Discord message id (POST /api/bot/reveals/{id}/message).
    • The handout path (handout_shown) never records a message id, and the handout's own Undo neither notifies anyone nor deletes anything.
    • Fix:
      • record the message id, or the DM ids for a chosen audience, on the handout path;
      • on revoke, publish reveal_taken_back (or a handout equivalent) so the bot deletes the post or DMs;
      • notify the other GMs, as D238 does.
  2. Handout embeds use faces. The handout handlers build discord.Embed directly. Every post should go through faces in the one shape (EXT-2, lane 10 PR 4a). Port them, and add them to test_faces.py and the dev preview.
These came out of lane 8's re-chain onto main (#893 plus lane 10). 1. **Taking a handout back (D157).** - D157 says that when something is taken back, the bot deletes its own post or DM. - Lane 10's shelf-reveal take-back does this by recording the Discord message id (`POST /api/bot/reveals/{id}/message`). - The handout path (`handout_shown`) never records a message id, and the handout's own Undo neither notifies anyone nor deletes anything. - **Fix:** - record the message id, or the DM ids for a chosen audience, on the handout path; - on revoke, publish `reveal_taken_back` (or a handout equivalent) so the bot deletes the post or DMs; - notify the other GMs, as D238 does. 2. **Handout embeds use `faces`.** The handout handlers build `discord.Embed` directly. Every post should go through `faces` in the one shape (EXT-2, lane 10 PR 4a). Port them, and add them to `test_faces.py` and the dev preview.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#896
No description provided.