blob: 875590ce5dd868e7788dedc9d64f1701b66ecfd0 (
plain)
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
|
#!/usr/bin/perl
use lib "../lib";
use Rest::Twitter;
use Data::Dumper;
my $twitter = new Rest::Twitter;
$twitter->auth("coin_toss","onetimeonly");
while (1)
{
my $tweets = $twitter->tweet_get();
print Dumper($tweets);
foreach my $tweet (@$tweets)
{
my $toss = coin_toss_tweet($twitter, $tweet);
if ($toss)
{
print "$tweet->{'user'}: $tweet->{'tweet'}\n";
if ($tweet->{'type'} eq "dm")
{
$twitter->dm_post($tweet->{'user'}, $toss);
}
else
{
$twitter->tweet_post("@" . $tweet->{'user'} . " " . $toss, $tweet->{'id'});
}
}
}
sleep 60;
}
sub coin_toss_tweet
{
my ($twitter, $tweet) = @_;
my $user = $twitter->user;
my $msg = $tweet->{'tweet'};
my $toss = undef;
return undef if $tweet->{'user'} eq $user;
$msg =~ s/\@$user:?//g;
$msg =~ s/\?*$//g;
if ($msg =~ /rock/i && $msg =~ /paper/i && $msg =~ /scissors/i)
{
$toss = coin_toss("rock", "paper", "scissors");
}
elsif ($msg =~ /\sor\s/i)
{
my (@faces) = split " or ", $msg;
$toss = coin_toss(@faces);
}
elsif ($msg =~ /\//i)
{
my (@faces) = split "/", $msg;
$toss = coin_toss(@faces);
}
else
{
$toss = coin_toss("heads", "tails");
}
return $toss;
}
sub coin_toss
{
my (@faces) = @_;
my $face = uc $faces[ int rand scalar @faces ];
my $face_string = join "/", @faces;
return "$face_string: $face";
}
1;
|