NAME
tircd - An ircd proxy to the twitter API
DESCRIPTION
tircd presents twitter as an irc channel. You can connect to tircd
with any irc client, and twitter as if you were on irc
INSTALLATION
tircd requires a recent version of perl, and the following modules:
POE
POE::Filter::IRCD
Net::Twitter::Lite
You can install them all by running:
"cpan -i POE POE::Filter::IRCD Net::Twitter::Lite"
USAGE
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.
AUTHOR
Chris Nelson <cnelson@crazybrain.org>
LICENSE
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.
SEE ALSO
POE
POE::Filter::IRCD
Net::Twitter::Lite