Giter VIP home page Giter VIP logo

slack-meme's Introduction

slack-meme

Post memes to any of your Slack channels with a slash command.

Usage

Built-in Templates

/meme success; we have; a meme bot;

/meme templates shows you the available built-in templates:

Custom Templates

Use your own image by passing its URL as the template:

/meme https://nicolewhite.github.io/images/me.jpg; hello; my name is nicole;

Preview

Hone your meme skills privately by practicing in the slackbot channel.

How It Works

The memes are posted under a bot in the same channel where /meme was called, where the bot's picture and username are replaced with your own. Because a bot is posting the meme and not you, you will not be able to delete memes once they are sent.

Setup

Slack API Token

Go to the Slack Web API page and scroll down to Authentication. If you haven't already, generate a token. This is your SLACK_API_TOKEN.

Incoming Webhook

Create a new Incoming Webhook. You can choose any channel; it doesn't matter. The channel will be overridden on each request with the channel from which the request originated. After creating, you'll see a Webhook URL field. This is your SLACK_WEBHOOK_URL.

Slash Command

Create a new Slash Command. Call it /meme. After creating, you'll see a Token field. This is your SLACK_SLASH_COMMAND_TOKEN. Keep this page open, as you'll need to configure the Slash Command further after deploying your Heroku App.

Deploy to Heroku

Deploy

Paste your SLACK_API_TOKEN, SLACK_WEBHOOK_URL, and SLACK_SLASH_COMMAND_TOKEN values into the appropriate config variables.

Click Deploy for Free. Once finished, the Name field will now be populated if you didn't choose a name upfront.

Finish Slash Command Config

Go back to your Slash Command configuration page, which you left open. Enter your app's URL, which is https://your-app-name.herokuapp.com, into the URL field. Replace your-app-name with the name of your app. Configure it to send a GET request to this URL. For example, here is my configuration page:

Save the Slash Command integration.

Update Your Deployment

To update your deployment with changes from this repository, visit your app's homepage on Heroku and navigate to the section on deploying with Heroku git at https://dashboard.heroku.com/apps/your-app-name/deploy/heroku-git, replacing your-app-name with the name of your app. Follow the instructions there to get the Heroku toolbelt set up. Then:

$ heroku login
$ heroku git:clone -a your-app-name
$ cd your-app-name

Replace your-app-name with the name of your app. Once you have this set up, you can update your app with changes from this repository with the following:

$ git remote add slack-meme https://github.com/nicolewhite/slack-meme
$ git pull --rebase slack-meme master
$ git push heroku master

Credits

This uses memegen. Thanks memegen!

slack-meme's People

Contributors

nicolewhite avatar coreymckrill avatar jacebrowning avatar jessmartin avatar mattbarrio avatar tyok avatar stewpoll avatar wjrogers avatar

Watchers

Ankur Oberoi avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.