File: tircd.pod

package info (click to toggle)
tircd 0.10-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 144 kB
  • ctags: 45
  • sloc: perl: 1,139; makefile: 19
file content (132 lines) | stat: -rw-r--r-- 5,662 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
=head1 NAME

tircd  - An ircd proxy to the twitter API

=head1 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

=head1 INSTALLATION

tircd requires a recent version of perl, and the following modules:

L<POE>

L<POE::Filter::IRCD>

L<Net::Twitter::Lite>

You can install them all by running:

C<cpan -i POE POE::Filter::IRCD Net::Twitter::Lite>

=head1 USAGE

=over

=item Running tircd

C<./tircd.pl [/path/to/tircd.cfg]>

When started, tircd will look for a configuration file in the following places:

F<tircd.cfg> (in the current directory)

F<~/.tircd>

F</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.

=item 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.

=item 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.

=item 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.


=item After connecting

Once connected JOIN #twitter to get started.  The channel #twitter is where you will perform most opertions

=item 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.

=item 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.

=item 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.


=item 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.

=item 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.

=item 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.

=item Unfollowing / removing users

To stop following a user, /kick them from #twitter.

=item 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.

=item Unblocking users

To unblock a user /unban them.

=item 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.

=item 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.

=back

=head1 AUTHOR

Chris Nelson <cnelson@crazybrain.org>

=head1 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.

=head1 SEE ALSO

L<POE>

L<POE::Filter::IRCD>

L<Net::Twitter::Lite>