0a80dd9c7a
After a slash command is deferred (interaction.response.defer), the "thinking..." indicator persisted indefinitely because the code used followup.send() which creates a separate message instead of replacing or removing the deferred response. Fix: use edit_original_response() to replace "thinking..." with the confirmation text when provided, or delete_original_response() to remove it when there is no confirmation. Also consolidated /reasoning and /voice handlers to use _run_simple_slash instead of duplicating the defer+dispatch pattern. Fixes #3595.