{"id":41757252,"url":"https://github.com/coderade/nodejs-msb-slack-bot","last_synced_at":"2026-01-25T01:39:46.516Z","repository":{"id":38841301,"uuid":"108577345","full_name":"coderade/nodejs-msb-slack-bot","owner":"coderade","description":"Node.js Microservice-based Slack Bot","archived":false,"fork":false,"pushed_at":"2025-11-16T14:45:47.000Z","size":666,"stargazers_count":2,"open_issues_count":54,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-16T16:20:36.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/coderade.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-10-27T17:52:11.000Z","updated_at":"2024-06-16T22:59:46.000Z","dependencies_parsed_at":"2023-01-24T15:31:04.648Z","dependency_job_id":"573d8218-03ca-4bb9-8f97-9d3653875498","html_url":"https://github.com/coderade/nodejs-msb-slack-bot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/coderade/nodejs-msb-slack-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderade%2Fnodejs-msb-slack-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderade%2Fnodejs-msb-slack-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderade%2Fnodejs-msb-slack-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderade%2Fnodejs-msb-slack-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderade","download_url":"https://codeload.github.com/coderade/nodejs-msb-slack-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderade%2Fnodejs-msb-slack-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28741109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T01:25:41.653Z","status":"ssl_error","status_checked_at":"2026-01-25T01:25:34.364Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-25T01:39:46.406Z","updated_at":"2026-01-25T01:39:46.505Z","avatar_url":"https://github.com/coderade.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Microservice-based Slack Bot\n\nSlack Bot application developed in Node.js.\n\n![SlackBot](doc/images/slackbot.png)\n\nThe project is set up with an express application, a bot using [Slack](https://slack.com/), and uses the [Wit.ai](https://wit.ai/) service for natural language processing.\n\n## Status\n\n[![Codeship Status for coderade/nodejs-msb-slack-bot](https://app.codeship.com/projects/a16ebc70-0220-0136-a7cd-1e9c793cff7d/status?branch=master)](https://app.codeship.com/projects/280037) ![Not Maintained](https://img.shields.io/badge/Maintenance%20Level-Not%20Maintained-yellow.svg)\n\n**This project was developed in 2016 to create a Slack bot application using Node.js and ES6. It is not maintained anymore. Some libraries are updated using [Dependabot](https://dependabot.com/) and [Snyk.io](https://snyk.io/) services, but no further tests are being done.**\n\n## Prerequisites\n\n- Node.js (Recommended to use [NVM](https://github.com/creationix/nvm))\n- [Yarn](https://yarnpkg.com/en/) package manager\n- Slack account and a Slack workspace\n- Wit.ai account\n\n## Setting Up Slack and Wit.ai\n\n### Creating the Slack Bot User\n\nTo use a bot on Slack for this project, create a bot user by following the Slack official [documentation](https://api.slack.com/bot-users).\n\n### Creating the Wit.ai App\n\n1. Log in to [Wit.ai](https://wit.ai/) with your GitHub account.\n2. Create an app by importing the data from the [codebot-witai-settings](https://github.com/coderade/codebot-witai-settings) project as a zip file. This project contains all the necessary intents to run this project.\n\n![Wit.ai Intents](doc/images/wit-ai-intents.png)\n\n## Project Intents\n\nThis project includes two intents: the [Time](server/intents/timeIntent.js) and [Weather](server/intents/weatherIntent.js) intents. You can create new intents by following the [intent.example.js](server/intents/intent.example.js) file.\n\nThere are two services serving the intents for this project:\n\n- [Time Microservice](https://github.com/coderade/nodejs-time-microservice): Returns the local time for a given location.\n- [Weather Microservice](https://github.com/coderade/nodejs-weather-microservice): Returns the weather for a given location.\n\nThese services announce themselves to the main application, which keeps track of the available services and routes the requests using a Service registry.\n\n## Installation\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/your-repo/nodejs-msb-slack-bot.git\n    cd nodejs-msb-slack-bot\n    ```\n\n2. Install the dependencies:\n    ```bash\n    yarn install\n    ```\n\n3. Copy the example environment file and update it with your credentials:\n    ```bash\n    cp .env-example .env\n    ```\n\n    Update the `.env` file with your Slack Bot Token, Wit.ai Token, and Bot API Token.\n\n    ```plaintext\n    SLACK_BOT_TOKEN=your-slack-bot-token\n    WIT_TOKEN=your-wit-token\n    SLACK_LOG_LEVEL=verbose\n    BOT_API_TOKEN=your-bot-api-token\n    ```\n\n## Running the Bot Application\n\nTo run the application, ensure your environment variables are set, then start the application:\n\n```bash\nnode bin/start.js\n```\n\nIf everything is set up correctly, you should see output indicating the bot is connected and listening:\n\n```plaintext\nverbose: Attempting to connect via the RTM API\nverbose: Retrying url=https://slack.com/api/rtm.start\nverbose: rtm.start successful, attempting to open websocket URL\nLogged in as coderade-bot of team Slackbot Nodejs, but not connected to a channel yet\nCODEBOT is listening on port 3000 in development mode.\n```\n\n## Testing\n\nThis project uses [Mocha](https://mochajs.org/), [Should](https://shouldjs.github.io/), and [Istanbul](https://istanbul.js.org/) for testing.\n\nTo run all tests, lint the code, and check coverage:\n\n```bash\nnpm test\n```\n\nOr run the following command directly:\n\n```bash\nNODE_ENV=test eslint server bin \u0026\u0026 nyc mocha --recursive test --exit\n```\n\n## Deployment with PM2\n\n1. Install PM2 globally:\n    ```bash\n    npm install pm2 -g\n    ```\n\n2. Copy the example PM2 ecosystem configuration file:\n    ```bash\n    cp ecosystem.config.example.js ecosystem.config.js\n    ```\n\n3. Set up your deployment configuration in `ecosystem.config.js` with your server details.\n\n4. Deploy the application using PM2:\n    ```bash\n    pm2 deploy production setup\n    pm2 deploy production\n    ```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderade%2Fnodejs-msb-slack-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderade%2Fnodejs-msb-slack-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderade%2Fnodejs-msb-slack-bot/lists"}