Slack¶
By connecting a Botsquad bot to Slack, it is possible to have conversations between Slack users and your bot. To do this, you need to connect the bot to a Slack workspace that you own. As soon as that is set up, the bot will handle the messages that are sent to it.
Installation¶
When clicking the "Add Slack" button in the studio, a manifest file is presented which you can copy-paste into the Slack app creation process to make the setup easier. Use this manifest to create a new Slack App. Don't forget to add the new app to your workspace.
After having done that, copy the Bot User OAuth token from the newly created slack app and fill it in the dialog. Now start chatting with the bot on Slack and it will start running your bot's code.
Conversations and users¶
When the bot is added to a slack channel, the channel itself will be the "user" that the bot sees. Therefore, the bot reacts to all messages that any user in that channel sends.
When replying to a message in a thread, the bot treats the thread as a new conversation, but for the same "user" (e.g. the channel).
Slash commands¶
Incoming slash commands are treated as incoming events. The name of
the event is $slack_command
, and the event.payload
contains an object with
the following keys:
command
— the command name including the slash, e.g."/joke"
text
— the text that was typed after the commanduser_name
— the name of the user that typed the commanduser_id
— the id of the user that typed the command
For instance:
dialog event: "$slack_command" when event.payload.command == "/joke" do
say event.payload.user_name + " requested a joke."
pause 3
say "The joke is about " + event.payload.text
end