Multi-Functional Bot Setup

Setup

Setting up the multi-functional bot is slightly more complex than the single-channel one.

  1. Go to https://api.slack.com/apps
  2. Click “Create New App” and then follow the setup instructions
  3. Click “OAuth & Permissions” under “Features”
  4. Enable the following scopes in order to get all of the functionality:
  1. Click “Install to Workspace”
  2. Select a channel (for webhook messages)
  3. Copy the Bot User (or User, depending on the type of app you want to use) OAuth Access Token
  4. Click “Incoming Webhooks” under “Features”
  5. Copy the Webhook URL
  6. Call
slackr_setup(channel = '#channel_with_webhook', 
             token = 'your_token', 
             incoming_webhook_url = 'your_webhook')

You can also follow the config file setup directions below instead of passing the channel, token, and webhook directly.

And that’s it! You should be able to post a message with slackr('test message')

Scopes

Without all of the scopes enabled, only certain functions will work. Which ones depends on which scopes you have enabled. See the function documentation for which scopes are needed for that function.

Usage

library(slackr)
slackr_setup(
  channel = "<< channel >>",
  incoming_webhook_url = "https://hooks.slack.com/services/<< hook >>",
  token = "xoxb-<< token >>"
)

slackr(str(iris))

# send images
library(ggplot2)
qplot(mpg, wt, data = mtcars)
slackr_dev("#results")

barplot(VADeaths)
slackr_dev("@jayjacobs")

ggslackr(qplot(mpg, wt, data = mtcars))

LaTeX for slackr_tex

The new function slackr_tex in versions 2.0.0+ requires package texPreview which is lazy-loaded when the former is called.

For setting up LaTeX see texPreview’s System Requirements, and for specific OS setup check out its Github Actions like this MacOS example.