POE::Component::Server::Twirc - Twitter/IRC gateway
use POE::Component::Server::Twirc; POE::Component::Server::Twirc->new( irc_nickname => $my_irc_nickname, twitter_username => $my_twitter_username, twitter_password => $my_twitter_password, twitter_screen_name => $my_twitter_screen_name, ); 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 device notifications, sending direct messages, and querying information about specific Twitter users.
POE::Component::Server::Twirc
Friends who are also followers are given "voice" as a visual clue in IRC.
Spawns a POE component encapsulating the Twitter/IRC gateway.
Arguments:
(Required) The irc nickname used by the owning user.
(Required) The username (email address) used to authenticate with Twitter.
(Required) The password used to authenticate with Twitter.
(Required) The user's Twitter screen name.
(Optional) The name of the IRC server. Defaults to twitter.irc.
twitter.irc
(Optional) The port number the IRC server binds to. Defaults to 6667.
(Optional) The local address to bind to. Defaults to all interfaces.
(Optional) The IRC user/host mask used to restrict connecting users. Defaults to *@127.0.0.1.
*@127.0.0.1
(Optional) Password used to authenticate to the IRC server.
(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.
tweeter
(Optional) Text to be used as the channel operator bot's IRC full name.
(Optional) The name of the channel to use. Defaults to &twitter.
&twitter
(Optional) The number of seconds between polls for new status updates. Defaults to 300 (5 minutes). Twitter imposes a rate limit of 100 API calls per hour. By default, after initial start up, twirc makes a single API call every twitter_retry seconds. Adding "check_replies" and "check_direct_messages" each add an additional API call. Setting twitter_retry too low can cause twirc to exceed the rate limit and delay receipt of messages.
twitter_retry
Use the "rate_limit_status" command to check your available API calls.
(Optional) The number of seconds to wait before retrying a failed poll for friends, followers, or status updates. Defaults to 60 (1 minute).
(Optional) An alias to use for displaying incoming status updates from the owning user. This is necessary if the user's IRC nickname and Twitter screen name are the same. Defaults to me.
me
(Optional) A hashref of extra arguments to pass to Net::Twitter->new.
Net::Twitter->new
(Optional) If false, posts sent by POE::Component::Server::Twirc will not be redisplayed when received is the friends_timeline. Defaults to false.
Set echo_posts(1) to see your own tweets in chronological order with the others.
echo_posts(1)
(Optional) How many favorites candidates to display for selection. Defaults to 3.
(Optional) When displaying tweets for selection, they will be truncated to this length. Defaults to 60.
(Optional) If true, checks for friends status updates every twitter_retry seconds. Default is 1.
(Optional) If true, checks for @replies when polling for friends' timeline updates and merges them with normal status updates. Normally, only replies from friends are displayed. This provides the display of @replies from users not followed.
check_replies adds an API call, counted against Twitter's rate limit every "twitter_retry" seconds.
check_replies
This also has the effect of adding senders of @replies to the channel, even though they are not followed.
(Optional) If true, checks for direct messages in each timeline polling cycle.
check_direct_messages adds an API call, counted against Twitter's rate limit every "twitter_retry" seconds.
check_direct_messages
(Optional) If specified, twirc will post log messages to this channel.
(Optional) File used to store state information between sessions, including last message read for replies, direct messages, and timelines.
(Optional) If set (1), when a refresh (whether automatic or the result of the "refresh" command) finds no new messages, a notice to that effect will be written to the channel.
(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 a status update. E.g.,
post Now cooking tweets with twirc!
Follow a new Twitter user, id. In Twitter parlance, this creates a friendship.
Stop following Twitter user id. In Twitter, parlance, this destroys a friendship.
Block Twitter user id.
Stop blocking Twitter user id.
Displays information about Twitter user id, including name, location, and description.
Turns device notifications on or off for the list of Twitter IDs.
Mark friend's tweet as a favorite. Optionally, specify the number of tweets to display for selection with count (Defaults to 3.)
Turns friends timeline checking on or off. See "check_friends_timeline" in configuration.
Turns reply checking on or off. See "check_replies" in configuration.
Turns direct message checking on or off. See "check_direct_messages" in configuration.
Displays the remaining number of API requests available in the current hour.
Display a simple help message
Turns verbose_refresh on or off. See "verbose_refresh" in configuration.
verbose_refresh
Sends a direct message to Twitter user id using an IRC private message.
App::Twirc
Marc Mims <marc@questright.com>
Copyright (c) 2008 Marc Mims
You may distribute this code and/or modify it under the same terms as Perl itself.
To install POE::Component::Server::Twirc, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POE::Component::Server::Twirc
CPAN shell
perl -MCPAN -e shell install POE::Component::Server::Twirc
For more information on module installation, please visit the detailed CPAN module installation guide.