The Selective Tweets Facebook app for selectively posting tweets to your Facebook profile and/or page(s)
Latest commit 5d85ebd Jun 4, 2015 @andyyoung fix exception handling

Selective Tweets

Copyright 2009-2012 Andy Young @andyy

License: MIT

This is the source code for Selective Tweets - an app that enables people that use both Facebook and Twitter to cross-post Tweets to their Facebook profile or page using the #fb hashtag.

The app can be found at:

Source code released January 2012 under the MIT licence. You are free to use this code for educational purposes, create derivative works and redistribute so long as you retain the original licence and copyright notices acknowledging myself as the original author. Be innovative, don't be evil.

The Story

I wrote up the story behind this app and how it collected 1M users in this blog post.


Pretty simple:

  • PHP under Linux
  • A web server (I use Apache)
  • MySQL database
  • Cron for scheduling jobs

How it works

The app provides a web interface based on the Facebook PHP SDK enabling users logged into Facebook to configure a Twitter account to watch for tweets. It then collects tweets containing the #fb hashtag using Twitter's streaming API and stores them in a database-based queue (MySQL). A daemon run every couple of minutes processes the queue of tweets, matches them against records of Facebook profiles/pages and compiles Facebook Graph API batch requests to cross-post updates as appropriate.

To get set up

  • Edit config/config.php
  • Create DB according to config/database_schema.sql
  • Make www/ available under a webserver
  • Execute cron/check_stream_tracker.php to start tracking the twitter stream
  • Run the CLI scripts under cron/ on a regular basis to do the work


Have fun!

Andy Young

T: @andyy