release-1.10release-1.7release-1.8release-1.9
Last change
on this file since a0385ad3 was
a0385ad3,
checked in by Nelson Elhage <nelhage@mit.edu>, 15 years ago
|
Preliminary support for other Twitter-compatible microblogging services, eg. identi.ca.
Adds an optional 'service' parameter to the configuration file, which points to the API
root URL (defaults to Twitter's). Also adds optional 'apihost' and 'apirealm' parameters
for the domain name and port of the site to connect to, and the name of the API realm,
respectively (default to Twitters'; if service is not Twitter, attempt to guess sane
defaults).
|
-
Property mode set to
100644
|
File size:
1.2 KB
|
Line | |
---|
1 | use warnings; |
---|
2 | use strict; |
---|
3 | |
---|
4 | =head1 NAME |
---|
5 | |
---|
6 | BarnOwl::Message::Twitter |
---|
7 | |
---|
8 | =head1 DESCRIPTION |
---|
9 | |
---|
10 | =cut |
---|
11 | |
---|
12 | package BarnOwl::Message::Twitter; |
---|
13 | use base qw(BarnOwl::Message); |
---|
14 | |
---|
15 | sub context {'twitter'} |
---|
16 | sub subcontext {undef} |
---|
17 | sub service { return (shift->{"service"} || "http://twitter.com"); } |
---|
18 | sub long_sender { |
---|
19 | my $self = shift; |
---|
20 | $self->service =~ m#^\s*(.*?://.*?)/.*$#; |
---|
21 | my $service = $1 || $self->service; |
---|
22 | return $service . '/' . $self->sender |
---|
23 | } |
---|
24 | |
---|
25 | sub replycmd { |
---|
26 | my $self = shift; |
---|
27 | if($self->is_private) { |
---|
28 | return $self->replysendercmd; |
---|
29 | } elsif(exists($self->{status_id})) { |
---|
30 | return 'twitter-atreply ' . $self->sender . " " . $self->{status_id}; |
---|
31 | } else { |
---|
32 | return 'twitter-atreply ' . $self->sender; |
---|
33 | } |
---|
34 | } |
---|
35 | |
---|
36 | sub replysendercmd { |
---|
37 | my $self = shift; |
---|
38 | return 'twitter-direct ' . $self->sender; |
---|
39 | } |
---|
40 | |
---|
41 | sub smartfilter { |
---|
42 | my $self = shift; |
---|
43 | my $inst = shift; |
---|
44 | my $filter; |
---|
45 | |
---|
46 | if($inst) { |
---|
47 | $filter = "twitter-" . $self->sender; |
---|
48 | BarnOwl::command("filter", $filter, |
---|
49 | qw{type ^twitter$ and sender}, '^'.$self->sender.'$'); |
---|
50 | } else { |
---|
51 | $filter = "twitter"; |
---|
52 | } |
---|
53 | return $filter; |
---|
54 | } |
---|
55 | |
---|
56 | =head1 SEE ALSO |
---|
57 | |
---|
58 | Foo, Bar, Baz |
---|
59 | |
---|
60 | =cut |
---|
61 | |
---|
62 | 1; |
---|
Note: See
TracBrowser
for help on using the repository browser.