Skip to content

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:

/promise member:@joe amount:200 due_date:5/15 note:"after spring break"

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.