NAME

POE::Component::Server::Twirc - Twitter/IRC gateway

SYNOPSIS

    use POE::Component::Server::Twirc;

    POE::Component::Server::Twirc->new;

    POE::Kernel->run;

DESCRIPTION

POE::Component::Server::Twirc provides an IRC/Twitter gateway. Twitter friends are added to a channel and messages they post on twitter appear as channel messages in IRC. The IRC interface supports several Twitter features, including posting status updates, following and un-following Twitter feeds, enabling and disabling mobile device notifications or retweets, sending direct messages, and querying information about specific Twitter users.

Friends who are also followers are given "voice" as a visual clue in IRC.

METHODS

new

Spawns a POE component encapsulating the Twitter/IRC gateway.

Arguments:

irc_server_name

(Optional) The name of the IRC server. Defaults to twitter.irc.

irc_server_port

(Optional) The port number the IRC server binds to. Defaults to 6667.

irc_server_bindaddr

(Optional) The local address to bind to. Defaults to '127.0.0.1'.

irc_mask

(Optional) The IRC user/host mask used to restrict connecting users. Defaults to *@127.0.0.1.

irc_password

(Optional) Password used to authenticate to the IRC server.

irc_botname

(Optional) The name of the channel operator bot. Defaults to tweeter. Select a name that does not conflict with friends, followers, or your own IRC nick.

irc_botircname

(Optional) Text to be used as the channel operator bot's IRC full name.

irc_channel

(Optional) The name of the channel to use. Defaults to &twitter.

selection_count

(Optional) How many favorites candidates to display for selection. Defaults to 3.

truncate_to

(Optional) When displaying tweets for selection, they will be truncated to this length. Defaults to 60.

log_channel

(Optional) If specified, twirc will post log messages to this channel.

state_file

(Optional) File used to store state information between sessions, including last message read for replies, direct messages, and timelines.

plugins

(Optional) An array of plugin objects.

COMMANDS

Commands are entered as public messages in the IRC channel in the form:

    command arg1 arg2 ... argn

Where the arguments, if any, depend upon the command.

post status

Post a status update. E.g.,

    post Now cooking tweets with twirc!
follow id

Follow a new Twitter user, id. In Twitter parlance, this creates a friendship.

unfollow id

Stop following Twitter user id. In Twitter, parlance, this destroys a friendship.

block id

Block Twitter user id.

unblock id

Stop blocking Twitter user id.

whois id

Displays information about Twitter user id, including name, location, and description.

notify on|off screen_name ...

Turns mobile device notifications on or off for the list of screen_names.

retweets on|off screen_name ...

Turns retweet display on your timeline on or off for the list of screen_names.

favorite screen_name [count]

Mark a tweet as a favorite. Specify the user by screen_name and select from a list of recent tweets. Optionally, specify the number of tweets to display for selection with count (Defaults to 3.)

rate_limit_status

Displays the remaining number of API requests available in the current hour.

retweet screen_name [count]

Re-tweet another user's status. Specify the user by screen_name and select from a list of recent tweets. Optionally, specify the number of tweets to display for selection with count (Defaults to 3.)

rt screen_name [count]

An alias for the retweet command.

reply screen_name [-count] message

Reply to another user's status. Specify the user by screen_name and select from a list of recent tweets. Optionally, specify the number of tweets to display for selection with -count (Defaults to 3.) Note that the count parameter is prefixed with a dash.

report_spam

Report 1 or more screen names as spammers.

add screen_name to list-slug

Add a user to one of your lists.

remove screen_name from list-slug

Add a user to one of your lists.

help

Display a simple help message

/msg id text

Sends a direct message to Twitter user id using an IRC private message.

SEE ALSO

App::Twirc

AUTHOR

Marc Mims <marc@questright.com>

CONTRIBUTORS

Adam Prime <adam.prime@utoronto.ca> (@adamprime) Peter Roberts <me+dev@peter-r.co.uk>

LICENSE

Copyright (c) 2008 Marc Mims

You may distribute this code and/or modify it under the same terms as Perl itself.