Hi there.
I believe that what you are describing would be possible only if the user sends a message to your bot first.
If you have set the “Watch Updates” webhook trigger and your bot receives a message from a user, then you can use the ID of this newly created conversation to send a reply to this user.
I’ve spent some time testing this and I believe you can’t send a message without a previous interaction from the user.
It seems that you can send messages by using the username only to the channels/groups that have your bot added as admin.
Hate to be the bearer of bad news here but these are the results of my tests.
Cheers