A modular messaging with slack integration project
NODE_ENV=
PORT=
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=
PUBLIC_URL= # for production use only
Run development:
npm run hot
DM @crrmacarse for the testing credentials
Build Production:
npm run prod
- Slack RTM API: https://api.slack.com/rtm
- Websocket: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
- Postman collection: https://www.getpostman.com/collections/a2e825d3d3c60d33437a
- Slack OAuth Authentication: https://api.slack.com/docs/sign-in-with-slack
- Slack OAuth Scopes: https://api.slack.com/scopes
- Slack Legacy OAuth: https://api.slack.com/legacy/oauth
- Slack Legacy OAuth Scopes: https://api.slack.com/legacy/oauth-scopes
- Slack Available APIs: https://api.slack.com/methods
- https://medium.com/free-code-camp/how-to-build-a-chat-application-using-react-redux-redux-saga-and-web-sockets-47423e4bc21a
- https://blog.logrocket.com/websockets-tutorial-how-to-go-real-time-with-node-and-react-8e4693fbf843/
- https://api.slack.com/docs/presence-and-status#subcriptions
- https://api.slack.com/authentication/best-practices
Used Slack API(https://api.slack.com/methods):
- oauth/authorize - To get autorization code to be used in oauth.access
- oauth.access - To get a token to be used for authentication
- rtm.connect - Initialize Websocket Connection
- rtm.goodbye - Websocket Disconnected by Slack due to Inactivity
- users.profile.get - Fetch Identity of the authenticated user
- users.info - Fetch identity of user via id
- users.conversations - Fetch all conversations history of the user
- users.lists - Fetch all users in the channel to be used to identify(users.conversation limit itself on ids only. This is where it'll be matched)
- conversations.history - Fetch Conversation with a particular user or channel
- conversation.list - List all conversations
- chat.postMessage - Send a Message
- user.getPresence - get user status
If you have any concerns and questions, please contact the development team
Read our Developer Guidelines here