/YouSlackBot

A Slack Bot that inserts posted Youtube videos to a playlist.

Primary LanguageJavaScriptMIT LicenseMIT

YouSlackBot

A nodeJS Slack Bot that inserts YouTube videos posted to a Slack channel into a YouTube playlist.

Getting Started

Installation

For contributions, please see Contributing section below.

Feedback is always welcome.

Enjoy! :)

Prerequisites

The ~/.credentials Directory

The ~/.credentials directory is the working directory of YouSlackBot. There are two types of files kept here, user files and bot files. All bot created files have an underscore prefix.

To start the bot we will first require three separate files added to the ~/.credentials directory by the user, these are:

  • slackCREDS.json - This contains the slack API key. eg;
module.exports =
{
xoxb: 'YOUR-KEY-HERE' 
}
  • youtubeCREDS.json - This is the JSON file that can be downloaded from within the Google Developer Console. It looks similar to the example below but with YOUR-X-X properties replaced with your own API properties.
{
"installed":
        {
        "client_id":"YOUR-CLIENT-ID",
        "project_id":"YOUR-PROJECT-ID",
        "auth_uri":"https://accounts.google.com/o/oauth2/auth",
        "token_uri":"https://accounts.google.com/o/oauth2/token",
        "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
        "client_secret":"YOUR-CLIENT-SECRET",
        "redirect_uris":[YOUR-REDIRECT-URIS]
        }
}

"PLQso55XhxkgBMeiYmFEHzz1axDUBjTLC6"

Installing

This is a step by step guide on installing YouSlackBot. Please make sure you have all prerequisites above and the required files in ~/.credentials as above.

Install YouSlackBot with npm

$ npm install YouSlackBot

Start the bot with node.

$ sudo node node_modules/YouSlackBot/start.js

Invite YouSlackBot to the Slack Channel you want it to watch. Example, inside the desired channel type:

/invite YOUR-BOT-NAME

You should see that the bot is now online in Slack.

IMPORTANT: On the first YouTube API request, you will be prompted to visit a URL from google to receive the API key. This prompt is in console and will not work without entering the returned key. You can initiate this by posting a valid YouYube video URL into the slack Channel and going back to the console. This only needs to be done once.

Contributing

Please read CONTRIBUTING.md for details on my code of conduct, and the process for submitting pull requests to me.

Authors

Donate

BTC 1Q19q6M39DjZkxM9ogW8ZSfGQKQzFX1TSN

ETH 0xFeb6b03e0AD538B87B762f86b79e9bf1Df538054

License

This project is licensed under the MIT License - see the LICENSE.MD file for details

Acknowledgments

  • Google
  • Slack
  • StackOverflow