Twitter bot in Empathy
By using an empty Empathy application as the glue (and using some of the wrapper code around Pheantalk for queues), we can easily create a twitter bot that favourites tweets for a given stream and thusly attacting attention to our own profile. The composer.json looks like this:
{
name: "newblog",
description: "A new blog",
require: {
mikejw/elib-base: "dev-develop",
pda/pheanstalk: "dev-master",
fennb/phirehose: "dev-master",
abraham/twitteroauth: "dev-master",
monolog/monolog: "1.13.1"
},
minimum-stability: "dev",
autoload: {
psr-0: {
HFSBot: "src/"
}
}
}
ELib and Twitter
I've been working on a PHP library that can sit alongside Empathy (lightweight MVC) on a purely non-dependant way. The idea being that some of my semi-duplicate code across projects can be re-factored into a central toolkit.Instead of dealing with the boring re-factoring straight away I wanted to work on a simple PHP library for making calls to the Twitter Api (excluding the search API so far). What I think I've ended up with is potentially a nice utility for accessing any REST-ful API with a clean way of defining the API 'specification', perhaps with little-to-no performance hit.I didn't want to look at any existing offerings of PHP library to make it more enjoyable while I pondered an elegant solution of my own. In a fairly paradoxical fashion (as is often the case) the main features revealed themselves in reverse order. I started by building a static array, which could contain the specification of the public API. By doing so I forced myself to consider (sometimes subconciously) the different logic that might be involved in ensuring each variety of call could be easily accessed with a standard interface. Eventually it occured to me that a typical call from a web app might look like this:
$t->doCall('url/to/call/'.$id,
array( 'param1' => $value1, 'param2 => $value2),