tircd - An ircd proxy to the twitter API
tircd presents twitter as an irc channel. You can connect to tircd with any irc client, and twitter as if you were on irc
tircd requires a recent version of perl, and the following modules:
You can install them all by running:
cpan -i POE POE::Filter::IRCD Net::Twitter::Lite
- Running tircd
-
./tircd.pl [/path/to/tircd.cfg]
When started, tircd will look for a configuration file in the following places:
tircd.cfg (in the current directory)
~/.tircd
/etc/tircd.cfg
You can specify an alternate path to the configuration file on the commandline if you want to keep the configuration in another location.
- Connecting
-
By default, tircd listens on localhost port 6667.
There are two modes of authentication for connecting tircd to twitter. Basic authentication is the old style where you provide tircd with your twitter username and password, and it authenticates you against the twitter api service normally. OAuth authentication is a 3-way handshake involving where tircd will present you with an authentication URL hosted by twitter and allows you to manage tircd's access to your account through twitters OAuth system.
The main difference between OAuth and Basic authentication is that using OAuth you never have to expose your login and password to the tircd daemon, nor worry about it sending your credentials in plain text if you are not using SSL.
- Connecting with Basic Authentication
-
Connect to tircd, using your twitter username as your NICK. Send your twitter password with the PASS command.
With many irc clients you can do this by issuing the command /SERVER [hostname running tircd] 6667 <your twitter password> <your twitter username>. Check your client's documentation for the appropirate syntax.
- Connecting with OAuth Authentication
-
Connect to tircd with the username of "oauth". Tircd will make a challenege to twitter, and twitter will provide a link to tircd for you to authorize the connection. Follow the link, make sure you are logged into twitter as the user you wish to use tircd as, and then click Allow to allow the connection. Twitter will then present you with a PIN number. To complete your connection to tircd, type: /stats pin <PIN NUMBER>. On some clients that honor the irc protocol and do not expect you to be sending a stats command before connecting you may have to type: /quote stats pin <PIN NUMBER>. Tircd will then attempt to authorize the connection using the provided PIN.
- After connecting
-
Once connected JOIN #twitter to get started. The channel #twitter is where you will perform most opertions
- Updating your status
-
To update your status on twitter, simply send a message to the #twitter channel. The server will keep your most recent update in the topic at all times.
- Getting your friend's status
-
When users you follow update their status, it will be sent to the channel as a message from them.
@replies are also sent to the channel as messages.
- Listing the users you follow
-
Each user you follow will be in the #twitter channel. If you follow a new user outside of tircd, that user will join the channel the first time they update their status. People who follow you back are given voice (+v) to indicate that fact.
- Direct Messages
-
Direct messages to you will show up as a private message from the user.
To send a direct message, simply send a private message to the user you want to dm.
- Getting additional information on users
-
You can /who or /whois a user to view their Location / Bio / Website. Their last status update (and time sent) will also be returned.
Issuing a /whois on your own user name will also provide the number of API calls that have been used in the last hour.
- Following new users
-
To begin following a new user, simply /invite them to #twitter. The user will join the channel if the request to follow was successful. If you attempt to invite a user who protects their updates, you will receive a notice that you have requested to follow them. The user will join the channel if they accept your request and update their status.
- Unfollowing / removing users
-
To stop following a user, /kick them from #twitter.
- Blocking users
-
To block a user /ban them. There is currently no way to get a list of users you've currently blocked via the API, so listing the bans in #twitter will only return users you've blocked in the current session.
- Unblocking users
-
To unblock a user /unban them.
- Multiple Channels / Groups
-
If you want to create a channel with just a subset of the people you follow, you can /join <any channel> and then /invite them to the channel. tircd will send a user's updates to #twitter and any other channels you have invited a user to.
- Search
-
If you want to have updated search results for a specific term delivered, you can /join <any channel> then set the /topic for the channnel to your search query. Results that match that query will be sent to that channel. The /topic can be almost anything supported by the twitter search (see http://search.twitter.com/operators for exmaples). Using the 'near' option is not currently supported.
Chris Nelson <cnelson@crazybrain.org>
This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.