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
You can install them all by running:
cpan -i POE POE::Filter::IRCD Net::Twitter
INSTALL QUIRKS
- Make sure you have Net::Twitter v2.10 installed. Previous versions are no longer suppored.
- Make sure you have JSON::PP or JSON::XS installed. JSON::Syck does not work properly (no utf8 support, and other character decoding problems)
USAGE
Running tircd
./tircd.pl /path/to/tircd.cfg
When started, tircd will look for a configuration file named tircd.cfg (in the same directory as the program) or ~/.tircd. A sample configuration file is included with the program. 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.
When connecting to tircd, you must ensure that your NICK is set to your twitter username, and that you send PASS with your twitter password.
With many irc clients you can do this by issuing the command /SERVER localhost 6667 <your twitter password> <your twitter username>. Check your client's documentation for the appropriate syntax.
Once connected JOIN #twitter to get started. The channel #twitter is where you will perform most operations
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 t
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>, @cnelson on twitter
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