Claiming a Username for Your Bot
When you register a bot, you should choose its username carefully: it will be difficult to change afterwards.
As I usually try many different usernames to find the shortest and prettiest one available, I've come up with a hack to check many variants quickly. Before registering the bot, I open my own account settings and type the username I want to try — but don't save the changes. If the username is taken, a red message will appear. This is how I check many usernames but not create a bot until I made my choice.
Username form
Bot usernames are no different from usernames of users, groups and channels. The only constraint is that normally a username of a bot must end with "bot". A username can look like this: @ExampleBot
You can buy short usernames for bots that don't follow this constraint on Fragment.
INFO
A free username must contain at least 5 characters including "bot". However, you can't claim such a short username: all usernames of 5 (and maybe 6) characters are taken. Unfortunately, most of these registered bots are inactive, as developers rarely maintain bots for a long time.
Claiming a username through support
It is possible to change a bot username for free, even if it's claimed by another (inactive) bot. You will need to contact the support: @BotSupport. They will check whether your bot works and supports English language.
The common format is the following:
1. @old_username
2. @new_username
3. Some bot description
Then cross your fingers and hope the support won't ignore you. It often does.