Some sent messages should stay interactive across reboots. This persistence screams databases, so we should store them there. Either spin up Cassandra (probably overkill) or add a table to the PostgreSQL schema (more likely).
Fields necessary for this:
message_id (PRIMARY KEY)
trigger_message_id (NULLABLE)
function to call in response
consider response a reply, or a reaction (ENUM)
This is implemented in an ad-hoc way currently, still relevant.