Promises (IOUs)¶
When a brother says "I'll pay you Friday", log it. The bot DMs them the day before, DMs both of you on the due date, and auto-flips the promise to broken if the date passes without payment.
/promise¶
Log an IOU.
Usage: /promise <member> <amount> <due_date> [note]
| Argument | Required | Description |
|---|---|---|
member |
yes | The brother making the promise |
amount |
yes | Dollar amount they said they'd pay |
due_date |
yes | When they said they'd pay — YYYY-MM-DD, MM/DD, MM/DD/YYYY |
note |
no | Optional context (e.g. "after his next paycheck") |
Example:
Reminder schedule (DMs, automatic):
| When | Who | Message |
|---|---|---|
| Day before | Brother | "Reminder: you said you'd pay $200 by tomorrow" |
| Day of (8am Central) | Brother | "Today's the day — you said you'd pay $200" |
| Day of | Treasurer | "Joe said they'd pay $200 today" |
If the day passes with no /log_payment matching, the promise auto-flips to broken and shows up in /broken_promises.
/promises¶
List pending promises.
Usage: /promises [member]
| Argument | Required | Description |
|---|---|---|
member |
no | Filter to one brother |
Output: ephemeral. Each row shows promise ID, brother, amount, due date.
/cancel_promise¶
Cancel a pending promise (no penalty, just remove it from the books).
Usage: /cancel_promise <promise_id>
/mark_paid¶
Manually mark a promise as fulfilled without an attached payment. Useful when the payment was already logged separately and the bot's auto-match suggestion didn't catch it.
Usage: /mark_paid <promise_id>
/broken_promises¶
Show promises that passed their due date without payment.
Usage: /broken_promises [member]
Useful for end-of-semester accountability conversations or for spotting brothers who consistently break their word.