slack_bot.mdx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. ---
  2. title: '💼 Slack Bot'
  3. ---
  4. ### 🖼️ Setup
  5. 1. Create a workspace on Slack if you don't have one already by clicking [here](https://slack.com/intl/en-in/).
  6. 2. Create a new App on your Slack account by going [here](https://api.slack.com/apps).
  7. 3. Select `From Scratch`, then enter the Bot Name and select your workspace.
  8. 4. On the left Sidebar, go to `OAuth and Permissions` and add the following scopes under `Bot Token Scopes`:
  9. ```text
  10. app_mentions:read
  11. channels:history
  12. channels:read
  13. chat:write
  14. ```
  15. 5. Now select the option `Install to Workspace` and after it's done, copy the `Bot User OAuth Token` and set it in your secrets as `SLACK_BOT_TOKEN`.
  16. 6. Run your bot now with `python3 -m embedchain.bots.slack`
  17. 7. Expose your bot to the internet. Default port is `5000`, which can be changed by adding `port --8080` to the startup command. You can use your machine's public IP or DNS. Otherwise, employ a proxy server like [ngrok](https://ngrok.com/) to make your local bot accessible.
  18. 8. On the Slack API website go to `Event Subscriptions` on the left Sidebar and turn on `Enable Events`.
  19. 9. In `Request URL`, enter your server or ngrok address.
  20. 10. After it gets verified, click on `Subscribe to bot events`, add `message.channels` Bot User Event and click on `Save Changes`.
  21. 11. Now go to your workspace, right click on the bot name in the sidebar, click `view app details`, then `add this app to a channel`.
  22. ### 🚀 Usage Instructions
  23. - Go to the channel where you have added your bot.
  24. - To add data sources to the bot, use the command:
  25. ```text
  26. add <data_type> <url_or_text>
  27. ```
  28. - To ask queries from the bot, use the command:
  29. ```text
  30. query <question>
  31. ```
  32. 🎉 Happy Chatting! 🎉