It turns out that I forgot about Markdown formatting when I was writing the bot. If you copy text from somewhere that has formatting, and then paste it into Slack, Slack retains the formatting. In Markdown, it looks like this: *bold*, _italic_, ~strikethrough~. And naturally, the message sent to the bot looked like this: <@U123456> create *127.0.0.1*, where U123456 is the bot user's ID in Slack.
Later, I discovered that it's impossible to fully fix this bug within the bot itself because the framework does not provide direct access to the complete message. It has its own command processor where I can retrieve message parameters, but not the entire message itself. In other words, it is possible to fix the problem when the message comes in the form of <@U123456> create *127.0.0.1*. However, even if the command itself is formatted too, the fix will not work. For example, in this case: <@U123456> *create 127.0.0.1*.
To fix this bug, I created a pull request in the framework repository. It wasn't too hard: I added options to remove formatting characters from the message. Additionally, I refactored the bot code a bit, made short commands aliases for their full forms, fixed the display of time from the "go" format to the local format, and added the ability to change the service port on the developer's computer. Previously, only standard ports 80/443 were available. And, of course, I didn't forget about myself and added a couple of commands for the VPN server that are only available to administrative users.
So there we have it, folks! With Ooops bot, we can save a boatload of time. It's amazing how a little bit of automation can go a long way in making our lives easier. And yes, we use Go in the .NET company. Who says we can't mix different technologies and make them work together? With the right tools and mindset, anything is possible. And, the most important! Now the routine doesn't distract me from pure creativity and brilliant ideas.