Currently the logic is very complex, extremely annoying to understand and even more annoying to expand.
Storing a State for each invocation that contains bools on what is and isn't set. This would make general expanding of this code much easier.
Then each interaction can just update a value then run a function that updates the message, way simpler than the current logic where each branch edits the message manually.