Reddit Slack



When it entered the market, Slack was a scrappy, independent entry in the era of worker-centered tools. But five years after formally challenging Microsoft, the company is being acquired. The slash command /redditbot will be followed by a word that is searched for on Reddit. The bot will search Reddit and return a trending post about the word you searched for. Let’s check if the slash command registered. Save your project, open Slack, go to the team and channel you used above, and try your slash command.

The cult of the party parrot

A slack bot for reddit teams (reddit integration is optional) - gschizas/reddit-slack-bot. Download Slack for free for mobile devices and desktop. Keep up with the conversation with our apps for iOS, Android, Mac, Windows and Linux.

How a ridiculous bird became an emoji hero

They call themselves disciples. Their first commandment: party or die.

OK, well, maybe not really die, but that party part — that’s for real.

The Disciples of Sirocco are a group of Redditors obsessed with party parrot, a multicolored, animated bird emoji who always looks to be having the time of his life. Their mission was to turn the emoji into an internet-dominating meme and, with the help of other dedicated followers, they’ve succeeded.

Party parrot, who seems to have originated on the Slack workflow app, is based off a real-life bird named Sirocco and takes many forms. There’s the original animation, who’s dancing to the oonce-oonce club music that’s clearly stuck in his head. There’s the same parrot with a slice of pizza slapped on his face, a parrot wearing a mariachi hat, a crying parrot, a bunch of parrots in a conga line, and on and on. The number of party parrots out there is now absurd and hilarious — the way only the internet can be.

There’s something hypnotizing about the quirky emoji that’s gotten humans to spread his gospel far and wide. He can be found on Slack, Reddit, t-shirts, in programming terminals, in an Android mobile game, and iMessage (there’s an app). You can even turn all the images you see online into party parrots with a Chrome extension – although it’s not a good look.

“Sirocco is like our God emperor. If you say Sirocco, you have to follow it up with ‘peace be upon him,’” quipped Cooper Stevenson, a self-proclaimed disciple from Bermuda who founded a party parrot subreddit for the faithful to use as a home base.

But where did this infectious, joyous emoji come from, and how did he take over all our Slack channels and distant corners of Reddit? The inspiration is fairly easy to find, but the search for the emoji’s creator is much more complicated.

First, the easy part, mostly because you need to watch this video right away:

That bird gyrating against the back of zoologist Mark Carwardine’s neck about a minute in is Sirocco, and he’s trying to mate. Sirocco’s bungled attempt at copulation quickly made him the most famous of the Kakapo, a critically endangered parrot species from New Zealand.

Then, sometime between when this BBC video was uploaded, in 2009, and 2015, someone turned Sirocco into the animated bird as we know it, which has since hit peak memedom.

There are only 153 Kakapo left, and that’s mostly due to hungry predators introduced by New Zealand's first settlers. The fat, flightless bird's main defense mechanism is to stand still, making it easy prey for rats, dogs, and short-tailed weasels. It climbs trees to feed and find shelter, and when it leaps out (thinking it can fly, though it can’t), it occasionally takes an awkward tumble, using its wings to break the fall.

It’s the kind of helpless, bizarre creature the internet loves to obsess over.

Many among the party-parrot obsessed have tried, unsuccessfully, to find the mastermind behind the original dancing emoji. We do know, however, that while most memes grow in the verdant fields of social media, this one got a boost from a private platform meant for work, Slack.

That means tracing its history back to its creator involves picking apart clues left by a tangle of Slack users. There are the disciples, who started out in a Slack channel for high-powered Reddit moderators and first saw the bird after someone from another channel for Midwest developers shared it with them. One of those developers even created cultofthepartyparrot.com, an online aviary of sorts dedicated to the meme.

Party parrot came to the Midwest by way of an online repository for GIFs and memes called bukk.it. Bukk.it’s owner first saw it thanks to a friend who noticed the emoji on yet another Slack channel for a coding bootcamp in New York. But that's where the trail runs cold.

Discord Vs Slack Reddit

It’s something that the internet as a whole owns, not one person.

So party parrot’s ultimate origin remains a mystery. Its fans like it better that way.

Reddit Slack

“It is a very mythical thing,” said _KorbenDallas_, one of the original disciples who asked to go by his Reddit username for privacy reasons. “It’s something that the internet as a whole owns, not one person.”

Even Slack itself uses party parrot’s various forms, mostly in fun company announcements, along with a dancing penguin, said Christina Janzer, group manager of Slack’s user research team. She added that Slack’s custom emoji, which are uploaded by channel administrators, “bring that human element to Slack that is so important in a work context.”

A little more than 7 million custom emoji have been added to Slack by more than 800,000 users, according to the company, although Slack wouldn’t say which custom emoji had been uploaded the most.

_KorbenDallas_ has made several party parrots since first being enchanted by the emoji. The 33-year-old engineer created Santa parrot, deal with it parrot, and sad parrot as part of a Christmas fundraiser on Reddit that netted roughly $500 for a New Zealand-based organization that works to protect the Kakapo.

“I’m vegan and my wife is vegan and she does more traditional animal advocacy and goes out there and writes letters to senators and congressmen and goes to events. This is my version of animal advocacy, which is to make silly GIFs to bring attention to endangered species that the world could lose if we don’t act,” he said. Beyond the “12 Days of Party Parrot” fundraiser, which he plans to run again this year, he also makes new parrots to fill a conversational void.


This is my version of animal advocacy, which is to make silly GIFs to bring attention to endangered species that the world could lose if we don’t act.

“It usually kind of comes up in conversation in group chat. You go to look for the right emoji to respond and think ‘why doesn’t this exist,’ and then you make it,” he said.

That’s how James Harries, a 29-year-old UX designer in the UK, feels, too. He smooshed together nyan cat and party parrot and made nyan parrot because he wanted a cat-themed parrot.

“The community has given us so many awesome party parrots that I really wanted to give back,” said Harries, who used to call party parrot “birdydance,” before he realized it was a meme with its own special name. Harries isn’t one of the disciples, but got involved with creating party parrots through a GitHub project for cultofthepartyparrot.com.

Nyan parrot, sad parrot, and more than 70 others can easily be downloaded to use on Slack from cultofthepartyparrot.com, which was created by John Hobbs, a 31-year-old Nebraskan who first spotted party parrot in the wild on that Slack channel for Midwest developers.

Hobbs and the disciples work independently to promote party parrot, but they help each other, too. The disciples link to Hobbs’ site, and he adds their parrots to his collection. Since Hobbs created cultofthepartyparrot.com in January 2016, more than 224,000 people have visited, with unique monthly visitors peaking in April at nearly 22,000. A month later, on May 22, the party parrot subreddit, which has about 33,000 subscribers, was named “subreddit of the day” by a Reddit group that spotlights the site’s unique communities.

The disciples’ faux religion shtick makes Hobbs laugh, but he doesn’t partake. The site’s name is an homage to an old hacker group, cult of the dead cow, and Hobbs’ motivation for creating it is pretty simple. He was charmed by the colorful bird and wanted an easy way for people to find it. Even moreso after he randomly saw a parrot he made – an upside-down version fondly called Australia parrot – in a Slack channel for a San Francisco company he was freelancing for at the time.

“I was surprised that it made it that far,” he said. Hobbs was even more surprised when someone sent him an Instagram photo of a party parrot tattoo. The software engineer who got the ink basically said he did it for the lulz.

“I put it next to a bunch of other dumb joke tattoos so it seemed perfect,” the 29-year-old from Portland said.

His may not be the only tattoo to come from this meme. A Reddit moderator who despised the animated emoji bet Stevenson, who founded the party parrot subreddit, that the bird would soon fall into internet obscurity. But, he said, if it turned into a meme, he’d get a party parrot tattoo.


You don’t make that kind of threat to a bunch of default moderators who love this thing.

“He was so wrong, so wrong,” Stevenson, a 29-year-old journalist, said. “You don’t make that kind of threat to a bunch of default moderators who love this thing.”

The emoji, of course, catapulted into memedom and even worked its charm on the guy who once doubted its awesome power.

“I sort of hated the bird, but I mostly just found it annoying. It's grown on me a lot since then, though,” joshkg, who prefers to go by his Reddit username, said. “I never really thought it would become a real meme. Obviously the idea of a tattoo of an animated bird was just a joke at the time, but since then I've put real thought into actually getting the tattoo. I think it would be pretty funny.”

Hobbs and Stevenson both tried to find party parrot’s creator — Stevenson harnessed the power of Reddit while Hobbs leaned on GitHub users — but to no avail.

Stevenson has some advice for those seeking the bird’s origins, though: Forget about it and thank author Douglas Adams, instead.


Reddit slackIs slack part of microsoft
Really, in a way we owe it all to Douglas Adams, which is kind of beautiful.

Adams, most well-known for Hitchhiker's Guide to the Galaxy, a radio-show-turned-book-series-turned-movie that has captured the hearts of science fiction lovers for decades, wrote about the Kakapo in his travel novel about endangered creatures. The book, called Last Chance to See, was later adapted into the BBC TV show that broadcast Sirocco in all his clueless glory.

Just listen to Adams passionately relay the plight and allure of the endangered Kakapo in this YouTube video, shortly before his death in 2001:

“My favorite of all the animals we went to see, my favorite was an animal called the kakapo,” he said at about 26 minutes into his speech at the University of California Santa Barbara, adding later: “The mating habits of the kakapo are incredibly long, drawn-out, fantastically complicated and almost entirely ineffective. Some people will tell you that the mating call of the male kakapo actively repels the female kakapo, which is the sort of behavior you otherwise only find really in discotheques.” (And the internet, to be honest.)

So, one could argue, without Adams and his love of this weird little bird — no party parrot. No deal with it parrot. No banana phone parrot, even.

“Really, in a way we owe it all to Douglas Adams, which is kind of beautiful,” Stevenson said. “I’m sure he would have loved it.”


  • Reporter

    Brittany Levine Beckman

  • Editors

    Kate Sommers-Dawes and Tim Chester

  • Illustrator

    Ambar Del Moral

Do you like Reddit? Do you like bots? If you answered yes to one, both, or neither of those, then you are in luck. This post will go over how to build a Reddit Slack bot in Haskell.

This is the second Haskell post here on the Twilio blog. So if you haven’t read the first one on setting up your Haskell developer environment, check that out here.

What are Slash Commands?

According to the Slack API site, messages beginning with “/” are treated differently from other messages: they “enable Slack users to interact with your app directly from Slack” and all send their messages “…to the configured external URL via HTTP POST.

Reddit Slack

In this post, we’ll build a custom slash command that shares a trending programming post from Reddit about whatever you pass it as a command. For example, if you typed /redditbot python, it would return an article about Python.

What We’ll be Using

  • Access to a Slack team that allows you to install apps
  • Ngrok
  • Linklater API to build Slack bots in Haskell
  • Reddit API to get Reddit posts

Cloning the GitHub repo

Get started by cloning the repo here by entering the following in your terminal:

This keeps things simple because otherwise, so many package dependencies would clash and turn into cabal hell.

Next, fire up another terminal, cd into the directory you cloned the repo into, and let’s open up a Ngrok tunnel.

The core of stack.yaml, our auto-generated stack file, should look like this:

We need that location part to pull from the move-to-stack fork of Twilio-Haskell which works with the dependencies of all the other packages.

Get Started with Slack Apps

First, let’s go to https://api.slack.com. Then, click Your Apps in the top right-hand corner. You should see a page like the one below, and then click Create New App.

Pick a name for your bot and pick one of your Slack channels to deploy the bot to. Many groups now have a channel dedicated to testing bots. That’s one channel you could use. You should see something like this image below, which asks for your app name and a team you’re in (like a hackathon you were in, a class you took, a team you were on, or your company):

Click Create App, and then under features on the left-hand side, click on Webhooks. Make sure Activate Incoming Webhooks is on, and then scroll down and click Add New Webhook to Team. That page should look something like this:

You should then see a page asking to confirm your identity. Pick the channel you wish to post to, click Authorize, and you should then see this page:

Copy this webhook URL and paste it into a new file in our project called hook.

Sweet! Now, again on the left column of your app’s page, under Features go to Slash Commands. Click Create New Command, and you should see this following page:

Fill in the text boxes above however you wish. The slash command /redditbot will be followed by a word that is searched for on Reddit. The bot will search Reddit and return a trending post about the word you searched for. Let’s check if the slash command registered. Save your project, open Slack, go to the team and channel you used above, and try your slash command:

If you don’t see the command auto-complete, then go back to Create New Command, check each step, and try again.

Haskell Code: Building the Slack Bot

Now it’s time to examine some code. You will see a lot of packages and libraries imported into our project at the top of Main.hs. Let’s go over the functions our project already has.

First, we have readSlackFile which takes in our hook file and formats it into a type we want–in this case, one of IO Text. We need to read this file to send our message on Slack. Then configIO actually calls the function.

Then we have parseText and liftMaybe check that there is a word to search following the slash command. Whatever parseText returns is passed to liftMaybe to return the topic we want to search Reddit for. Our printPost function formats the link to display in the message.

Next, we have findQPosts which takes in the query we return from liftMaybe and passes that to runRedditAnon from the Reddit API, which gets all the posts from the front page of Reddit. FindQPosts searches those for trending posts on a certain topic (in this case, programming).

Now we need to get Reddit posts and create the message that will be posted to Slack. We do this by calling all the functions we just made above. We also use some of Linklater’s functions to check the command and its passed text, search Reddit for the passed text, and format the information as a message for the Slack channel you configured. The returned Slack message @’s your Slack username in the beginning, too.

This is actually called in messageOfCommandReddit which checks if there’s no parameter passed. In that case, we post “Unrecognized Slack request!”

Lastly, our main function uses Linklater’s slashSimple method to run on that same port you also call with ngrok.It prints a message out upon successfully running.

To run, go back to your current directory in the terminal, type stack build. This could take some time. So let’s check out Reddit in the meantime.

Once that’s complete, type stack exec redditbot. In the Slack channel that you configured to handle apps, type in /redditbot ____ where you fill in the underscore with a programming-related topic, like Python, Swift, or Haskell.

If you get a 404_client_error, then check your ngrok connection and tunnel. It should be open to 3000. If you get a 500_service_error, then check that the command that is being expected in messageOfCommandReddit is the same command that is expected in your Slack app on the Slack website (in this post, it’s “/redditbot”).

If you see a pop-up asking if you want your application to accept incoming network connections, click “allow”.

If your app is successful, you should see something like this:

Conclusion

Yes, building Slack bots in Haskell is really that easy! Some Haskell APIs that you could use for another bot (or just in general) include:

  • Yahoo Finance (stock)

Questions? Comments? Find me online:

Reddit Slackware

  • Email: lsiegle@twilio.com
  • Twitter: @lizziepika
  • GitHub: elizabethsiegle