Skip to content

Rooms

The chapter house has fixed rooms with fixed prices that include the standard semester dues. A brother assigned to a room pays room_price × share_fraction instead of the flat /set_semester amount.

When two brothers share a room, the bot auto-rebalances to equal shares (1/N).

/set_room

Define a room or update its price.

Usage: /set_room <name> <price> [notes]

Argument Required Description
name yes Room name (e.g. "Room 1", "East Loft")
price yes Full-occupant semester price in dollars
notes no Optional notes (e.g. "no AC", "shared bathroom")

Example:

/set_room name:"Room 1" price:2000

Notes:

  • Idempotent — re-running with the same name updates the price.
  • Past assignments are not retroactively repriced. Only future semesters use the new price.

/list_rooms

List every defined room with its full-occupant price.

Usage: /list_rooms


/show_room

Show one room with its current-semester occupants and what each is paying.

Usage: /show_room <name>


/room_assignments

Show every room with its current-semester occupants. Useful at start of semester to verify everyone's placed correctly.

Usage: /room_assignments


/assign_room

Assign a brother to a room for the current semester. Auto-rebalances all current occupants of that room to equal shares.

Usage: /assign_room <name> <member>

Argument Required Description
name yes Room name (must exist via /set_room)
member yes Brother (must be onboarded)

Example:

/assign_room name:"Room 1" member:@joe
/assign_room name:"Room 1" member:@bob

After both, Joe and Bob each have share_fraction=0.5 and pay $1000 of a $2000 room.

Notes:

  • A brother can only be in one room per semester. Reassigning them to a different room moves them automatically.
  • A brother can be moved out via /unassign_room.

/unassign_room

Remove a brother's room assignment. They fall back to the flat /set_semester amount unless reassigned.

Usage: /unassign_room <member>

When the unassigned brother leaves, remaining occupants are rebalanced (e.g. if Joe leaves Bob alone, Bob's share goes from 0.5 back to 1.0).


/set_share

Override one brother's share fraction for unequal splits. Use only when 50/50 isn't right.

Usage: /set_share <member> <share_fraction>

Argument Required Description
member yes Onboarded brother with an active room assignment
share_fraction yes Number between 0 (exclusive) and 1 — e.g. 0.6 for 60%

Example:

Joe has the bigger half of Room 1, Bob has the smaller half. You decide Joe pays 60%:

/set_share member:@joe share_fraction:0.6
/set_share member:@bob share_fraction:0.4

Notes:

  • Does not auto-rebalance the rest of the room. You must explicitly set every occupant's share when departing from equal split.
  • The bot doesn't enforce that occupants of one room sum to 1.0 — you might leave the room "underbooked" intentionally if a 3rd brother is expected later.