Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gatsby-source-slack

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gatsby-source-slack

Source plugin to fetch channels from Slack into Gatsby

  • 0.5.4
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

gatsby-source-slack

Use your Slack API token to download your channels and users into Gatsby's GraphQL data layer!

Please note: This plugin was made out of a specific necessity, so it doesn't cover all of Slack's API capabilities, focusing only on channels and users. If you want to add extra functionalities, feel free to create a PR and contribute :smile:

See this plugin in action here

Table of content

Basic usage

yarn add gatsby-source-slack
# or
npm i gatsby-source-slack --save
// in your gatsby-config.js
module.exports = {
  // ...
  plugins: [
    {
      resolve: 'gatsby-source-slack',
      options: {
        // Avoid including your token directly in your file.
        // Instead, opt for adding them to .env files for extra
        // security ;)
        token: 'xoxp-asdkl1posdapo12-asjsdi12idsaioo',
      },
    },
  ],
  // ...
};

Go through http://localhost:8000/___graphql after running gatsby develop to understand the created data and create a new query and checking available collections and fields by typing CTRL + SPACE.

Options

OptionsTypeDefaultDescription
keystring[required] Your API key
channelsToFetcharray of strings[]The IDs of channels you'd like to fetch
normalizeMessagesbooleanfalseWether the plugin should format messages' text to include the referenced users, links, etc.

Using .env variables to hide your key

If you don't want to attach your API key to the repo, you can easily store it in .env files by doing the following:

// In your .env file
SLACK_TOKEN = 'xoxp-asdkl1posdapo12-asjsdi12idsaioo';

// In your gatsby-config.js file
require('dotenv').config({
  path: `.env.${process.env.NODE_ENV}`,
});

module.exports = {
  // ...
  plugins: [
    {
      resolve: 'gatsby-source-slack',
      options: {
        token: process.env.SLACK_TOKEN,
        // ...
      },
    },
  ],
  // ...
};

This example is based off Gatsby Docs' implementation.

TODO

  • Pass down the whole message objects into normalizedMessages;
  • Better documentation on normalizeMEssages;
  • Tutorial on how to set-up a Slack clone - maybe open source the one I've made;
  • Live example of this working

License

I'm not very literate on licensing, so I just went with MIT, if you have any considerations just let me know! Oh, and, of course, feel free to contribute to this plugin, even bug reports are welcome!

Keywords

FAQs

Package last updated on 10 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc