Introducing The Master Bot - OnBots Redefined!
As we proceed with hubots coupled with tools to make our tasks easier in the form of chatting, we realised that there needs to be someone who should do the management activity for the other bots. Therefore, we came up with the Master Bot
, the bot for managing all other bots. This bot is designed to let you manage all your other bots and gather consolidated information about them by just chatting with it. Let us dig deep into how this works:
1)You will need the masterbot and the OnBots services running in your servers.
Your Masterbot and OnBots services should be running on the same server. This is because the Master needs to interact with the Kubernetes Environment for fetching data and doing management activities for the bots. If both are not in same machine, even if you have ports opened and allow connection between the servers, kubernetes will block the master from accessing it.
2) Connect it to slack, Hipchat or mattermost
3) Now you can interact with the bot through commands
Let us have a look at what are all the commands supported by our Master Bot:
Commands | Description |
---|---|
getDeployedBots | get list of all deployed bots |
getBots | get bot types available in onBots |
getConfig Template <botname> | get Json template for adding a particular type of bot |
addBot <json_fileid> | adds a bot with the given configuration in Json file |
getBotDetails <botname> | get configuration and other details for a bot |
getLogs <botname> | get deployment logs of the given bot |
getChatlog <botname> | get chat logs of the given bot |
stop <botname> | stop an active bot if it is running |
restart <botname> | restart the bot with the details stored in mongodb |
getHitmiss <botname> | get hit-miss ratio of conversations of the given bot |
getMetrics <botname> | get system metrices for the given bot |
editbot <botname> <json_fileid> | edit the bot configuration details in mongodb from the given json file |
tail <number_of_lines> <botname> | To get last <number_of_lines> of the logs of <botname> |
delete <botname> | delete the bot |
container status <botname> | give the container status in which the bot is deployed |
help | list all the commands the master can perform |
Now, the question is how do you get master to be deployed in your environment? Fear not, here's your guide to get the master working in your server:
- Install hubot into your server (Refer here)
- Pull your desired scripts-<adapter> folder from our github repository
- Copy the content of scripts-<adapter> into your <newly_installed_hubot_folder>/scripts
- Install the desired npm-module for your adapter. Master can work with slack, Hipchat or mattemost. Execute the following command inside your bot folder:
npm install hubot-<adapter> (where <adapter> can be slack, Hipchat or mattermost. Refere this page to to learn more about how to connect your bot to a chat application.)
You are all set now. Execute the following to start the bot with your chat adapter:
./bin/hubot -a <adapter>
Bots that can be deployed using the masterbot: (Learn more about each of them by clicking on the bot name)
Every Bot has default Help command, which will explain users about what the bot can actually do by giving list of Commands and Actions. In case Bot does not understand user commands then bot can guide users with default replies.
0 Comments