Skip to content

Commit b58e95a

Browse files
committed
Its a work in progress
1 parent 3ee2345 commit b58e95a

1 file changed

Lines changed: 39 additions & 14 deletions

File tree

spaceapibot.pl

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use Config::IniFiles; # From CPAN
1818
use LWP::Simple; # From CPAN
1919
use JSON qw( decode_json ); # From CPAN
20+
use Switch;
2021
use vars qw($VERSION %IRSSI);
2122
$VERSION = "1.0";
2223
%IRSSI = (
@@ -31,9 +32,10 @@
3132
## important global Variables:
3233
# For the IRC:
3334
our $main_channel = "see-base|ponyville"; # Use '|' for multiple channels
34-
our $keyword = "space";
35-
our $open = "open"; # to change state to open
36-
our $closed = "closed"; # to change state to closed
35+
our @keyword = ("space", "see-base", "toolbox"); # First parameter is a for the default space!
36+
our @open = ("$keyword[0] open|$keyword[1] open", "$keyword[2] open"); # to change state to open
37+
our @closed = ("$keyword[0] closed|$keyword[1] closed", "$keyword[2] closed"); # to change state to closed
38+
our @show = ("$keyword[0]|$keyword[1]", "$keyword[2]");
3739
# Global Parameters:
3840
our $url = "https://bodensee.space/cgi-bin/togglestate?";
3941

@@ -48,26 +50,49 @@ sub sig_message_public {
4850
my ($server, $msg, $nick, $nick_addr, $target) = @_;
4951
if ($target =~ m/#(?:$main_channel)/) { # only operate in these channels
5052
# listen to keyword to do something:
51-
if ($msg =~ m/!(?:$keyword $open)/i){ # listening for "!$keyword"
52-
my $openurl = "$url";
53-
$server->command("msg $target Hey $nick, du wolltest den Space auf 'offen' stellen.");
54-
}elsif ($msg =~ m/!(?:$keyword $closed)/i){ # listening for "!$keyword"
55-
$server->command("msg $target Hey $nick, du wolltest den Space auf 'geschlossen' stellen.");
56-
}elsif ($msg =~ m/!(?:$keyword)/i){ # listening for "!$keyword"
57-
$server->command("msg $target Hey $nick, du wolltest den Status des Space rausfinden!");
53+
my $int = 0;
54+
foreach (@open){
55+
if ($msg =~ m/!(?:$open[$int])/i){ # listening for "!$keyword open"
56+
my $answer = space("open", $keyword[$int+1]);
57+
$server->command("msg $target Hey $nick, $answer.");
58+
}elsif ($msg =~ m/!(?:$closed[$int])/i){ # listening for "!$keyword closed"
59+
my $answer = space("closed", $keyword[$int+1]);
60+
$server->command("msg $target Hey $nick, $answer.");
61+
}elsif ($msg =~ m/!(?:$show[$int])/i){ # listening for "!$keyword"
62+
my $answer = space("show", $keyword[$int+1]);
63+
$server->command("msg $target Hey $nick, $answer");
64+
}
65+
$int++;
5866
}
5967
}
6068
$server->command("/script load spaceapibot.pl");
6169
}
6270

6371
sub space {
72+
my $parameter = $_[0];
73+
my $param2 = $_[1];
6474
my $anz = $ini->val('spaces', 'anzahl');
6575
my @spaces = [];
76+
my @token = [];
6677
for (my $i = 0; $i < $anz; $i++) {
6778
push(@spaces, $ini->val('spaces', "space_$i"));
68-
}
69-
print $spaces[1];
70-
79+
push(@token, $ini->val('token', "space_$i"));
80+
}
81+
for (my $i = 0; $i < $anz; $i++) {
82+
if ($spaces[$i] eq $param2){
83+
if ($parameter eq "open") {
84+
my $link = "$url$spaces[$i]&token=$token[$i]&state=$parameter";
85+
return "try to open";
86+
}
87+
elsif ($parameter eq "closed") {
88+
return "try to close";
89+
}
90+
elsif ($parameter eq "show") {
91+
return "try to show state";
92+
}
93+
else { return "Error: Ungueltige Parameteruebergabe"; }
94+
}
95+
}
96+
return "foo";
7197
}
7298

73-
space();

0 commit comments

Comments
 (0)