POE::Component::Server::Twirc - Twitter/IRC gateway
use POE::Component::Server::Twirc;
POE::Component::Server::Twirc->new;
POE::Kernel->run;
"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.
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 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.
Marc Mims <marc@questright.com>
Adam Prime <adam.prime@utoronto.ca> (@adamprime) Peter Roberts
<me+dev@peter-r.co.uk>
Copyright (c) 2008 Marc Mims
You may distribute this code and/or modify it under the same terms
as Perl itself.