Multi-Functional Bot Setup

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

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:
  5. channels:read
  6. users:read
  7. files:read
  8. groups:read
  9. groups:write
  10. chat:write
  11. chat:write.customize
  12. chat:write.public
  13. im:write
  14. incoming-webhook
  15. channels:history
  16. Click "Install to Workspace"
  17. Select a channel (for webhook messages)
  18. Copy the Bot User (or User, depending on the type of app you want to use) OAuth Access Token
  19. Click "Incoming Webhooks" under "Features"
  20. Copy the Webhook URL
  21. 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.



Try the slackr package in your browser

Any scripts or data that you put into this service are public.

slackr documentation built on March 7, 2023, 8 p.m.