This is still a limitation of bots as of May 2017 because of a bug that it introduces-- see paulhammod's answer at https://github.com/slackapi/node-slack-sdk/issues/26. The correct way to add a bot is the the slash command /invite @<bot.user> <channel_name>
as @MattGifford pointed out.
However, @nafg introduced an interesting workaround. If you generate a personal API_TOKEN for your account, then you can use it to invite a bot.
For instance, in python one could run:
import slackclient
sc = slackclient.SlackClient(<PERSONAL_API_TOKEN>)
sc.api_call('channels.invite', channel=<channel_id>, user=<user_id>)
This will invite the bot to the channel. If you wanted to automate inviting your bot to new channels, you can look at event listeners in the API found at https://api.slack.com/rtm
As long as you allow your API_TOKEN to be used for that purpose, it seems that it would work as needed, albeit less convenient.