{"id":13571456,"url":"https://github.com/RocketChat/hubot-rocketchat","last_synced_at":"2025-04-04T08:31:15.832Z","repository":{"id":33274358,"uuid":"36918949","full_name":"RocketChat/hubot-rocketchat","owner":"RocketChat","description":"Rocket.Chat Hubot adapter","archived":false,"fork":false,"pushed_at":"2024-07-04T15:17:08.000Z","size":787,"stargazers_count":584,"open_issues_count":76,"forks_count":227,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-04-02T02:11:39.010Z","etag":null,"topics":["hubot","hubot-adapter","rocketchat"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RocketChat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-05T07:34:05.000Z","updated_at":"2025-02-19T11:04:34.000Z","dependencies_parsed_at":"2024-09-16T12:32:43.727Z","dependency_job_id":"a61d696b-f38c-4035-9209-17a793858d5f","html_url":"https://github.com/RocketChat/hubot-rocketchat","commit_stats":{"total_commits":223,"total_committers":47,"mean_commits":4.74468085106383,"dds":0.852017937219731,"last_synced_commit":"c45faf61a47caba84ed1afb669313ff86150caa7"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2Fhubot-rocketchat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2Fhubot-rocketchat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2Fhubot-rocketchat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2Fhubot-rocketchat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RocketChat","download_url":"https://codeload.github.com/RocketChat/hubot-rocketchat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247147111,"owners_count":20891625,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hubot","hubot-adapter","rocketchat"],"created_at":"2024-08-01T14:01:02.161Z","updated_at":"2025-04-04T08:31:11.856Z","avatar_url":"https://github.com/RocketChat.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Adapters","CoffeeScript"],"sub_categories":[],"readme":"![Rocket.Chat logo](https://rocket.chat/images/logo/logo-dark.svg?v3)\n\n[![Rocket.Chat](https://open.rocket.chat/api/v1/shield.svg?type=channel\u0026name=Rocket.Chat\u0026channel=hubot)](https://open.rocket.chat/channel/hubot)\n[![Test Coverage](https://codeclimate.com/github/RocketChat/hubot-rocketchat/badges/coverage.svg)](https://codeclimate.com/github/RocketChat/hubot-rocketchat/coverage)\n[![Code Climate](https://codeclimate.com/github/RocketChat/hubot-rocketchat/badges/gpa.svg)](https://codeclimate.com/github/RocketChat/hubot-rocketchat)\n[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/RocketChat/Rocket.Chat/raw/master/LICENSE)\n\n# hubot-rocketchat\n\nHubot adapter for Rocket.Chat!\n\nFeel free to join us in the [#hubot](https://open.rocket.chat/channel/hubot) channel to discuss hubot, and any scripts you might be working on.\n\n## Important\n\n**BREAKING CHANGES:** v2.x.x contains major breaking changes. Starting with this version:\n* CoffeeScript BOTs will no longer be supported, all new bot scripts should be written in NodeJS 8 compatible JavaScript\n* Only [Hubot v3](https://github.com/hubotio/hubot/tree/v3) will be supported\n* you should only use [Rocket.Chat Server version 0.63.0](https://github.com/RocketChat/Rocket.Chat/releases/tag/0.63.0) or higher\n* Yeoman generator support is discontinued,  you should start your project with our [hubot v3 boilerplate](https://github.com/RocketChat/hubot-rocketchat-boilerplate)\n* [NodeJS 8](https://nodejs.org/) or later is required for operations\n* The latest ES6 syntax in NodeJS 8, including the popular async-await, is fully supported\n\nv1.x.x versions of the adapter is only compatible with 0.37.1 and higher of Rocket.Chat Server.  Yes, you should be able to continue using v1.x.x adapter and CoffeeScript bots with the most up-to-date version of the server.\n\nIf you are using Rocket.Chat 0.35.0 or earlier, please use v0.1.4 of the adapter.  (releases between 0.35.0 and 0.37.1 are not recommended for hubot operations)\n\n#### NOTE\nIf you want to integrate Rocket.Chat with GitHub or GitLab.  Make sure you visit the [Rocket.Chat.Ops](https://github.com/RocketChat/Rocket.Chat.Ops) project before starting. We already have many scripts that add webhook events and access GitHub/GitLab APIs. You can easily extend these scripts for your custom application.\n\n### For v2.x.x of the Adapter  (Hubot v3 and ES6 support)\n\nIf you are writing CoffeeScript bots, need Hubot 2.x and v1.x.x or v0.x.x of the adapter, please see [instructions for v1.x.x of the adapter](#For-v1.x.x-and-v0.x.x-of-the-Adatper).\n\nThe following instructions are ONLY for v2.x.x of the adapter.\n\n#### Getting your bot connected to Rocket.Chat\n\nHere is a sample run:\n\n![picture of a sample interaction with rocketbot](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/botpic.png)\n\nWe have a couple of ways for you to get up and started with the Rocket.Chat adapter.\n\n##### Docker\n\nYou can quickly spin up a docker image with:\n\n```\ndocker run -it -e ROCKETCHAT_URL=\u003cyour rocketchat instance\u003e:\u003cport\u003e \\\n\t-e ROCKETCHAT_ROOM='general' \\\n\t-e RESPOND_TO_DM=true \\\n\t-e ROCKETCHAT_USER=bot \\\n\t-e ROCKETCHAT_PASSWORD=bot \\\n\t-e ROCKETCHAT_AUTH=password \\\n\t-e BOT_NAME=bot \\\n\t-e EXTERNAL_SCRIPTS=hubot-pugme,hubot-help \\\n\trocketchat/hubot-rocketchat\n```\n\n##### Custom Scripts\n\nIf you want to include your own custom scripts you can by doing:\n\n```\ndocker run -it -e ROCKETCHAT_URL=\u003cyour rocketchat instance\u003e:\u003cport\u003e \\\n\t-e ROCKETCHAT_ROOM='general' \\\n\t-e RESPOND_TO_DM=true \\\n\t-e ROCKETCHAT_USER=bot \\\n\t-e ROCKETCHAT_PASSWORD=bot \\\n\t-e ROCKETCHAT_AUTH=password \\\n\t-e BOT_NAME=bot \\\n\t-e EXTERNAL_SCRIPTS=hubot-pugme,hubot-help \\\n\t-v $PWD/scripts:/home/hubot/scripts \\\n\trocketchat/hubot-rocketchat\n```\n\n#### Creating a User on the Server\n\nAn admin user is required to create the account for the bot to login to.\n\n1. From **Administration** \u003e **Users** menu\n2. Select `+` to make a new user\n3. Enter *Name*, *Username*, *Email* (tick verified) and *Password*\n4. Disable *Require password change*\n5. Select `bot` from role selection and click *Add Role*\n6. Disable *Join default channels* recommended, to avoid accidental listening\n6. Disable *Send welcome email*\n7. *Save*\n\nUse these credentials in the bot's environment `ROCKETCHAT_USER` and\n`ROCKETCHAT_PASSWORD`\n\nNote that for bots email, a common workaround to avoid creating multiple\naccounts is to use gmail +addresses, e.g. `youremail+botnam@gmail.com`.\n[See this issue for more](https://github.com/RocketChat/Rocket.Chat/issues/7125)\n\n\n### Building a Bot\n\nPlease see our boilerplate bot [Getting Started docs here][getting-started]!\n\nThe boilerplate is essentially just a simple node package that requires Hubot,\nthe Rocket.Chat adapter and Coffeescript for its execution...\n\n```\n\"dependencies\": {\n    \"coffeescript\": \"^2.2.2\",\n    \"hubot\": \"3\",\n    \"hubot-rocketchat\": \"^2.0.0\"\n}\n```\n\nThe bot can then be executed using a bin file in production, [as seen here](https://github.com/RocketChat/hubot-rocketchat-boilerplate/tree/master/bin).\nOr via the package scripts locally using `npm run local` or `yarn local`\n\nUsing the boilerplate example, to start the bot in production, use\n`bin/hubot -a rocketchat` - will install dependencies and run the bot with this\nadapter.\n\n[More info in Hubot's own docs here](https://hubot.github.com/docs/)\n\n### Configuring Your Bot\n\n[rcsdk-env]: https://github.com/rocketchat/rocket.chat.js.sdk#settings\n[hubot-env]: https://hubot.github.com/docs/scripting/#environment-variables\n\nIn local development, the following can be set in an `.env` file. In production\nthey would need to be set on server startup.\n\nThe Rocket.Chat adapter implements the Rocket.Chat Node.js SDK to load all\nsettings from the environment. So the following are just some of those settings,\nrelevant to Hubot. It has some additional configs, [documented here][rcsdk-env].\n\n| Env variable           | Description                                           |\n| ---------------------- | ----------------------------------------------------- |\n| **Hubot**\t\t           | A subset of relevant [Hubot env vars][hubot-env]     |\n| `HUBOT_ADAPTER`        | Set to `rocketchat` (or pass as launch argument)      |\n| `HUBOT_NAME`           | The programmatic name for listeners                   |\n| `HUBOT_ALIAS`          | An alternate name for the bot to respond to           |\n| `HUBOT_LOG_LEVEL`      | The minimum level of logs to output (error)                   |\n| `HUBOT_HTTPD`          | If the bot needs to listen to or make HTTP requests   |\n| **Rocket.Chat SDK**    | A subset of relevant [SDK env vars][rcsdk-env]        |\n| `ROCKETCHAT_URL`*      | Local Rocketchat address (start before the bot)       |\n| `ROCKETCHAT_USER`*     | Name in the platform (bot user must be created first) |\n| `ROCKETCHAT_PASSWORD`* | Matching the credentials setup in Rocket.Chat         |\n| `ROCKETCHAT_ROOM`      | The default room/s for the bot to listen in to (csv)  |\n| `LISTEN_ON_ALL_PUBLIC` | DEPRECATED - DO NOT USE                               |\n| `RESPOND_TO_DM`        | If the bot can respond privately or only in the open  |\n| `RESPOND_TO_EDITED`    | If the bot should reply / re-reply to edited messages |\n| `RESPOND_TO_LIVECHAT`  | If the bot should respond in livechat rooms           |\n| `INTEGRATION_ID        | Name to ID source of messages in code (e.g Hubot)     |\n\n`*` Required settings, unless running locally with testing defaults:\n- url: `localhost:3000`\n- username: `bot`\n- password: `pass`\n\n\nBe aware you *must* add the bot's user as a member of the new private group(s)\nbefore it will respond.\n\n## Connecting to Rocket.Chat\n\nWe have a couple of ways for you to get up and started with the adapter below.\n\n### Docker\n\nYou can quickly spin up a docker image with:\n\n```\ndocker run -it -e ROCKETCHAT_URL=\u003cyour rocketchat instance\u003e:\u003cport\u003e \\\n\t-e ROCKETCHAT_ROOM='general' \\\n\t-e RESPOND_TO_DM=true \\\n\t-e ROCKETCHAT_USER=bot \\\n\t-e ROCKETCHAT_PASSWORD=bot \\\n\t-e HUBOT_NAME=bot \\\n\t-e EXTERNAL_SCRIPTS=hubot-help,hubot-diagnostics \\\n\trocketchat/hubot-rocketchat\n```\n\n#### Custom Scripts\n\nIf you want to include your own custom scripts you can by doing:\n\n```\ndocker run -it -e ROCKETCHAT_URL=\u003cyour rocketchat instance\u003e:\u003cport\u003e \\\n\t-e ROCKETCHAT_ROOM='general' \\\n\t-e RESPOND_TO_DM=true \\\n\t-e ROCKETCHAT_USER=botname \\\n\t-e ROCKETCHAT_PASSWORD=botpass \\\n\t-e HUBOT_NAME=botname \\\n\t-e EXTERNAL_SCRIPTS=hubot-help,hubot-diagnostics \\\n\t-v $PWD/scripts:/home/hubot/scripts \\\n\trocketchat/hubot-rocketchat\n```\n#### Configuration Options\n\nHere are all of the options you can specify to configure the bot.\n\nOn Docker you use: `-e VAR=Value`\n\nRegular hubot via: `export VAR=Value` or add to pm2 etc\n\nIf `ROCKETCHAT_URL` is using `https://`, you **MUST** setup websocket\npass-through on your reverse proxy (NGINX, and so on) with a valid certificate\n(not self-signed). Directly accessing Rocket.Chat without a reverse proxy via\n`https://` is not possible.\n\n### Verify your bot is working\n\nTry:\n```\nrocketbot ping\n```\n\nAnd:\n```\nrocketbot help\n```\nThe example bot under `scripts` directory responds to:\n```\nrocketbot report status\n```\n\n### v2.x.x Development\n\n#### Docker\n\nFirst clone the source and then move into the directory.\n\n```\ngit clone git@github.com:RocketChat/hubot-rocketchat.git\ncd hubot-rocketchat\n```\n\nNow we start the docker container.\n\n```\ndocker run -it -e ROCKETCHAT_URL=\u003cyour rocketchat instance\u003e:\u003cport\u003e \\\n\t-e ROCKETCHAT_ROOM='general' \\\n\t-e RESPOND_TO_DM=true \\\n\t-e ROCKETCHAT_USER=bot \\\n\t-e ROCKETCHAT_PASSWORD=bot \\\n\t-e HUBOT_NAME=bot \\\n\t-e EXTERNAL_SCRIPTS=hubot-help,hubot-diagnostic \\\n\t-v $PWD:/home/hubot/node_modules/hubot-rocketchat rocketchat/hubot-rocketchat\n```\n\n#### Standard\n\nIn a Hubot instance once `hubot-rocketchat` is added by npm or yarn, you can\nreplace the package with a development version directly:\n\n- `cd node_modules` from the bot's project root\n- `rm -rf hubot-rocketchat` to delete the published version\n- `git clone git@github.com:RocketChat/hubot-rocketchat.git` to add dev version\n- `cd hubot-rocketchat` move to dev path\n- `npm install` install dependencies\n\n#### Linked\n\nSetting up a locally linked package is easier for continued development and/or\nusing the same development version of the adapter in multiple bots.\n\n- Change directory to your development adapter path\n- `npm link` or `yarn link` to set the origin of the link\n- Change directory to your bot's project root\n- `npm link hubot-rocketchat` or `yarn link hubot-rocketchat` to create the link\n\n#### Important notes\n\n* The first time you run the docker container, the image needs to be pulled from\nthe public docker registry and it will take some time.  Subsequent runs are\nsuper fast.\n* If you are not running Linux (i.e. if you are on a Mac or PC), you cannot use\n$PWD to mount the volumes. Instead, [read this note here](https://docs.docker.com/userguide/dockervolumes/)\n(the 2nd note on the page: *If you are using Boot2Docker...*) to determine the\nabsolute path where you must place the git-cloned directory.\n\n\n### For v1.x.x  and v0.x.x of the Adatper\n\n#### Docker-compose\n\nIf you want to use docker-compose for this task, add this for v0.1.4 adapter (this must be inserted in your docker-compose.yml):\n\n```\n# hubot, the popular chatbot (add the bot user first and change the password before starting this image)\nhubot:\n  image: rocketchat/hubot-rocketchat:v0.1.4\n  environment:\n    - ROCKETCHAT_URL=your-rocket-chat-instance-ip:3000 (e.g. 192.168.2.240:3000)\n    - ROCKETCHAT_ROOM=general\n    - RESPOND_TO_DM=true\n    - ROCKETCHAT_USER=username-of-your-bot\n    - ROCKETCHAT_PASSWORD=yourpass\n    - BOT_NAME=bot\n    - GOOGLE_API_KEY=yourgoogleapikey\n# you can add more scripts as you'd like here, they need to be installable by npm\n    - EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-diagnostics,hubot-google,hubot-reddit,hubot-bofh,hubot-bookmark,hubot-shipit,hubot-maps\n  links:\n    - rocketchat:rocketchat\n# this is used to expose the hubot port for notifications on the host on port 3001, e.g. for hubot-jenkins-notifier\n  ports:\n    - 3001:8080\n```\n\n If you wish that your bot listen to all public rooms and all private rooms he is joined to let the env \"ROCKETCHAT_ROOM\" empty like in the example above and set the env \"LISTEN_ON_ALL_PUBLIC\" to true.\n\n Please take attention to some external scripts that are in the example above, some of them need your Google-API-Key in the docker compose file.\n\n#### Alternative Node.js installation with [Node Version Manager](https://github.com/creationix/nvm) (nvm) in a local environment on Debian/Ubuntu\n\n ```\n# adduser hubot\n# su - hubot\n$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash\n$ exit\n# su - hubot\n$ nvm install v4.8.5\n$ npm update -g\n$ npm install -g yo generator-hubot\n$ mkdir hubot\n$ cd hubot\n$ yo hubot (answer questions and use \"rocketchat\" as adapter)\n$ npm install coffee-script -save\n ```\n Make sure ~/hubot/bin/hubot is executable: `chmod 755 ./bin/hubot`\n\n If you need a redis database: `apt install redis-server`\n\n Set node version: `export NODE_VERSION=default`\n\n If you want to start your hubot with [systemd](https://github.com/hubotio/hubot/blob/master/examples/hubot.service) use `nvm-exec`:\n\n ```\nExecStart=/home/hubot/.nvm/nvm-exec /home/hubot/hubot/bin/hubot --adapter rocketchat\n ```\n See EnvironmentFile directive for using environment variables in systemd units\n\n#### Add adapter to hubot\n\n##### New install\nYou can specify the adapter during setup.\n\nFirst you need to install hubot\n\n```\nnpm install -g yo generator-hubot\n```\n\nThen you need to start the setup of the bot\n\n```\nmkdir myhubot\ncd myhubot\nyo hubot --adapter=\"rocketchat@1\"\n```\n\nIt'll ask you a few questions.\n\nAlternatively you can actually answer the questions in one command:\n\n```\nyo hubot --owner=\"OWNER \u003cowner@example.com\u003e\" --name=\"bot\" --description=\"Bot\" --adapter=\"rocketchat@0.1\"\n```\n\nAlso be sure to remember the name you specify.  This is what the bot will respond to in Rocket.Chat.\n\nYou will need to tell the adapter where your install is and what login information to use.\n\n```\nexport ROCKETCHAT_ROOM='general'\nexport RESPOND_TO_DM=true\nexport ROCKETCHAT_USER=bot\nexport ROCKETCHAT_PASSWORD=bot\nexport ROCKETCHAT_AUTH=password\n```\n\nThen start with: `bin/hubot -a rocketchat`\n\n[More Info Here](https://hubot.github.com/docs/)\n\n##### Existing install\n\nIf you already have hubot setup you can add the adapter.\n\nBy doing: `npm install hubot-rocketchat@2`\n\nYou will need to tell the adapter where your install is and what login\ninformation to use.\n\n```\nexport ROCKETCHAT_ROOM='general'\nexport RESPOND_TO_DM=true\nexport ROCKETCHAT_USER=rocketbot\nexport ROCKETCHAT_PASSWORD=bot\nexport ROCKETCHAT_AUTH=ldap\n```\n\nThen starting your bot specifying the adapter: `bin/hubot -a rocketchat`\n\n#### Verify your bot is working\n\nTry:\n```\nrocketbot ping\n```\n\nAnd:\n```\nrocketbot help\n```\n\nThe example bot under `scripts` directory responds to:\n```\nrocketbot report status\n```\n\n### Developers\n\nWe like to make development as easy on ourselves as possible. So passing the\nlove on to you!\n\n#### Adapter Development\n\nWe'd love to have your help improving this adapter. PR's very welcome :smile:\n\n##### Docker\n\nFirst clone the source and then move into the directory.\n\n```\ngit clone git@github.com:RocketChat/hubot-rocketchat.git\ncd hubot-rocketchat\n```\n\nNow we start the docker container.\n\n```\ndocker run -it -e ROCKETCHAT_URL=\u003cyour rocketchat instance\u003e:\u003cport\u003e \\\n\t-e ROCKETCHAT_ROOM='general' \\\n\t-e RESPOND_TO_DM=true \\\n\t-e ROCKETCHAT_USER=bot \\\n\t-e ROCKETCHAT_PASSWORD=bot \\\n\t-e ROCKETCHAT_AUTH=password \\\n\t-e BOT_NAME=bot \\\n\t-e EXTERNAL_SCRIPTS=hubot-pugme,hubot-help \\\n\t-v $PWD:/home/hubot/node_modules/hubot-rocketchat rocketchat/hubot-rocketchat\n```\n\n#### Standard\n\nInstalled in hubot you'd hop over into `node_modules`.\n\nDelete the hubot-rocketchat folder.\n\nThen clone the git repo.\n\n```\ngit clone git@github.com:RocketChat/hubot-rocketchat.git\ncd hubot-rocketchat\nnpm install\n```\n\n#### Additional details\nLook under the `scripts` directory, you will find a very basic bot there.\n\nJust add your own script in the directory to have it loaded.  If you are new to hubot script writing, find out more [here](https://hubot.github.com/docs/scripting/).\n\nIf you find a bug or compatibility problem, please open an issue.\n\nIf you have any enhancements or feature requests, create an issue.  If you like what you see, please star the repo.\n\nFinally, if you have created a bot that other users may find useful, please contribute it.\n\n\n#### Some important notes\n\n* The first time you run the docker container, the image needs to be pulled from the public docker registry and it will take some time.  Subsequent runs are super fast.\n* If you are not running Linux (i.e. if you are on a Mac or PC), you cannot use $PWD to mount the volumes.  Instead, [read this note here](https://docs.docker.com/userguide/dockervolumes/) (the 2nd note on the page: *If you are using Boot2Docker...*) to determine the absolute path where you must place the git-cloned directory.\n\n### CONTRIBUTORS WANTED\n\nWhile it is functional, the current adapter is very basic.  We need all the help we can get to add capabilities.\n\nBecome part of the project, just pick an issue and file a PR.\n\nThe adapter code is under the `src` directory.   To test modified adapter code, exit (ctrl-c) the container and run it again.\n\n### FAQ\n\nQ:  I am not trying to stage a denial of service attack, why would I ever want to write a bot?\n\nA:  There are many positive and productive use cases for bots.    Imagine a customer service support chat.   As soon as a customer enters the support channel, a bot immediately identifies the customer and then:\n* fetches recent sales information from the sales dept server\n* fetches personal information from the customer data base\n* fetches latest notes made by her/his salesperson from the CRM system\n* scans the customer's facebook and twitter posts\n* obtains details of the last support ticket for this customer\n\nPutting it altogether and then private message the service rep with the information.\n\nAnother use-case is a load test bot, imagine a bot that accepts the command:\n\n````\nrocketbot loadtest europe 25, asia 50, usa 100, canada 10\n````\nThis command specifies a distribution of test bot instances, to be created across globally located data centers.\n\nOnce received, the bot:\n* parses the distribution\n* concurrently ssh to remote Kubernetes controllers and spawns the specified number of test bot instances to start the load test\n\nQ:   The architecture of hubot-rocketchat looks interesting, can you tell me more about it?\n\nA:  Sure, it is based on hubot-meteorchat.  hubot-meteorchat is the hubot integration project for Meteor based chats and real-time messaging systems.  Its driver based architecture simplifies creation and customization of adapter for new systems. For example, the hubot-rocketchat integration is just hubot-meteorchat + Rocket.Chat driver.\n\nLearn more about hubot-meteorchat and other available drivers [at this link](https://github.com/Sing-Li/hubot-meteorchat).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRocketChat%2Fhubot-rocketchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRocketChat%2Fhubot-rocketchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRocketChat%2Fhubot-rocketchat/lists"}