Code deduplication: use a central sub `reply` to handle bot replies.