Have you ever wanted to share something awesome with a channel on Slack and had to do something like this?
- Join the channel
- Share your wonderful content
- Leave the channel
Well, I have created a slash commend to help you!
Use /shareto #channel [stuff you want to share}
This slash command will share share your content to a public channel regardless of your membership in that channel.
This is useful if you don't usually hang out in a channel but you find an interesting link that you know the members in that channel would love.
- Create an app at https://api.slack.com/apps
- Add a Slash command (See Add a Slash Command section below)
- Navigate to Bot Users and click "Add a Bot User" to create one.
- Navigate to the OAuth & Permissions page and make sure the following scopes are pre-selected:
commandsbot
- Click 'Save Changes' and install the app (You should get an OAuth access token after the installation)
- Go back to the app settings and click on Slash Commands.
- Click the 'Create New Command' button and fill in the following:
- Command:
/shareto - Request URL: Your server or Glitch URL +
/command - Short description:
Share to public channels regardless of membership - Usage hint:
#public-channel [text you want to share]
- Command:
If you did "Remix" on Glitch, it auto-generate a new URL with two random words, so your Request URL should be like: https://fancy-feast.glitch.me/command.
Set Environment Variables and run:
- Set the following environment variables to
.env(see.env.sample):SLACK_ACCESS_TOKEN: Your bot token,xoxb-(available on the OAuth & Permissions once you install the app)SLACK_SIGNING_SECRET: Your app's Signing Secret (available on the Basic Information page)
- If you're running the app locally, run the app (
npm start). Or if you're using Glitch, it automatically starts the app.
I based a lot of this code on the example I found here