All Projects → sillygwailo → Slack Twitter

sillygwailo / Slack Twitter

Read your timeline, fave tweets, and post to Twitter from Slack.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Slack Twitter

Assent
Multi-provider framework in Elixir
Stars: ✭ 126 (+168.09%)
Mutual labels:  slack, twitter
Pow assent
Multi-provider authentication for your Pow enabled app
Stars: ✭ 236 (+402.13%)
Mutual labels:  slack, twitter
Tradingview Webhook Bot
⚙️ Send TradingView alerts to Telegram, Discord, Slack, Twitter and/or Email.
Stars: ✭ 135 (+187.23%)
Mutual labels:  slack, twitter
Manageyum
A browser made precisely for your apps.
Stars: ✭ 199 (+323.4%)
Mutual labels:  slack, twitter
Android Dev Sources
All those Android development sources that you need to be and stay awesome!
Stars: ✭ 434 (+823.4%)
Mutual labels:  slack, twitter
Tsuru
desktop client.
Stars: ✭ 126 (+168.09%)
Mutual labels:  slack, twitter
Angular Awesome List
Список ресурсов по Angular на русском
Stars: ✭ 224 (+376.6%)
Mutual labels:  slack, twitter
Broid Kit
Bot framework powered by Broid
Stars: ✭ 58 (+23.4%)
Mutual labels:  slack, twitter
Wdt Emoji Bundle
Slack like emoji picker with apple/ios, twitter/twemoji, google, emojione, facebook, messenger emoji support
Stars: ✭ 411 (+774.47%)
Mutual labels:  slack, twitter
Hackathon Starter Kit
A Node-Typescript/Express Boilerplate with Authentication(Local, Github, Facebook, Twitter, Google, Dropbox, LinkedIn, Discord, Slack), Authorization, and CRUD functionality + PWA Support!
Stars: ✭ 242 (+414.89%)
Mutual labels:  slack, twitter
Botmaster
The chatbot framework for your serious projects
Stars: ✭ 239 (+408.51%)
Mutual labels:  slack, twitter
Notify
A dead simple Go library for sending notifications to various messaging services.
Stars: ✭ 727 (+1446.81%)
Mutual labels:  slack, twitter
Integrations
Connect your App to Multiple Messaging Channels with the W3C Open standard.
Stars: ✭ 721 (+1434.04%)
Mutual labels:  slack, twitter
D3 Digest
SlackBot that watch channels looking for links and reactions, and generates digests based on those reactions
Stars: ✭ 15 (-68.09%)
Mutual labels:  slack, twitter
Findme
serverless application to find unlabelled photos of you on twitter using machine learning (tensorflow.js).
Stars: ✭ 43 (-8.51%)
Mutual labels:  twitter
Php Open Graph
This package provides a fluent PHP OOP builder for Open Graph protocol.
Stars: ✭ 46 (-2.13%)
Mutual labels:  twitter
Twitter Clone Graphql Backend
A Simple CRUD using GraphQL
Stars: ✭ 42 (-10.64%)
Mutual labels:  twitter
Tweepy
Twitter for Python!
Stars: ✭ 8,293 (+17544.68%)
Mutual labels:  twitter
Omnisci Tweetmap 2
Play with and instantly visualize hundreds of millions of realtime tweets, from the global level all the way down to your neighborhood.
Stars: ✭ 47 (+0%)
Mutual labels:  twitter
Mantisbt Slack
Slack integration for Mantis bug tracker
Stars: ✭ 45 (-4.26%)
Mutual labels:  slack

Installation

  1. Create two channels in Slack.
  2. Name the channel for your timeline something obvious like 'twitter_timeline'.
  3. Name the channel for posting to Twitter something obvious like 'twitter_post'.
  4. Get a Slack bot account. Visit https://my.slack.com/services/new and under "DIY Integrations & Customizations" click the "Add" button. Once you create this bot (name it something obvious like "twitter_bot") you will get an API token.
  5. Invite the bot to the channels you created in step #1. To do that, go to each channel and, in the top drop-down for the channel, click "Invite others to this channel..." and select your bot created in step #2.
  6. Associate a Twitter account with your Slack team. This is necessary so that Slack will unfurl the tweets, that is, it will show tweet text (and images that people tweet) from this account's timeline. Visit https://my.slack.com/services/twitter and then the "Authentications" tab to set this up.
  7. Login to the Twitter website Application Management website at https://apps.twitter.com/ with the Twitter account that you want to post tweets to from Slack. (It can be a different Twitter account than the one in step #3.) Click "Create New App". Make sure to give it read and write permissions.
  8. Set your environment variables. See the section below.
  9. Start the bot! Use PM2 or forever or something that will daemonize the bot.

Or you could deploy it to Heroku by clicking the button:

Deploy

You still need to follow steps #1-6 in the above instructions before clicking the button.

Warning: All messages under 140 characters will get posted to Twitter. Only use a channel designated to post tweets from.

Environment Variables

This bot uses environment variables to store Slack and Twitter tokens. If you want to run this software locally, use the following as a starting point.

export SLACK_POST_CHANNEL=yourSlackChannelforPostingtoTwitterHere
export SLACK_TIMELINE_CHANNEL=yourSlackChannelforReadingtheTwitterTimeline
export SLACK_TOKEN=yourSlackTokenHere
export TWITTER_CONSUMER_KEY=yourTwitterConsumerKeyHere
export TWITTER_CONSUMER_SECRET=yourTwitterConsumerSecretHere
export TWITTER_ACCESS_TOKEN_KEY=yourTwitterAccessTokenKeyHere
export TWITTER_ACCESS_TOKEN_SECRET=yourTwitterAccessTokenSecretHere

If you're deploying to Heroku, press the Deploy to Heroku button above and you can punch the tokens in the form. If you're deploying from the command line, use the following:

heroku config:set SLACK_POST_CHANNEL=yourSlackChannelforPostingtoTwitterHere
heroku config:set SLACK_TIMELINE_CHANNEL=yourSlackChannelforReadingtheTwitterTimeline
heroku config:set SLACK_TOKEN=yourSlackTokenHere
heroku config:set TWITTER_CONSUMER_KEY=yourTwitterConsumerKeyHere
heroku config:set TWITTER_CONSUMER_SECRET=yourTwitterConsumerSecretHere 
heroku config:set TWITTER_ACCESS_TOKEN_KEY=yourTwitterAccessTokenKeyHere
heroku config:set TWITTER_ACCESS_TOKEN_SECRET=yourTwitterAccessTokenSecretHere

Usage

  1. Posting messages to the 'twitter_post' channel will evaluate whether the tweet meets Twitter's definition of 140 characters. That means that URLs are compressed down (and possibly up?) to be either 23 or 24 characters in length. You don't have to short URLs. (You don't have to in general either, not even for analytics, since http://analytics.twitter.com/ handles that now.)
  2. Faving and unfaving. Starring a tweet in Slack will fave that tweet on Twitter. Unstarring it will unfave it.
  3. Retweets in a timeline are handled by taking the URL of the retweeted tweet and saying who it was retweeted by.
  4. No replies or retweeting is currently possible in the 'twitter_post' channel. Use a client for that. In the Slack mobile app, you can specify which Twitter app to use. If you know what you're doing with Automator on Mac OS X, you can add a service to open a URL in Tweetbot

Known Issues

  • A memory leak. You may have to manually restart the Node.js bot if tweets stop appearing or tweets no longer get sent from your Slack channel.
  • Starring a retweet does not currently work.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].