diff options
| -rw-r--r-- | bot.pl | 21 |
1 files changed, 15 insertions, 6 deletions
| @@ -7,8 +7,8 @@ use DBI; | |||
| 7 | use POE; | 7 | use POE; |
| 8 | use POE::Component::IRC; | 8 | use POE::Component::IRC; |
| 9 | 9 | ||
| 10 | my $current_nick = 'francoise_'; | 10 | my $current_nick = 'francoise'; |
| 11 | my $channel = '#test'; | 11 | my $channel = '#kiffer.de'; |
| 12 | 12 | ||
| 13 | POE::Component::IRC->new("francoise"); | 13 | POE::Component::IRC->new("francoise"); |
| 14 | POE::Session->new ( _start => \&irc_start, | 14 | POE::Session->new ( _start => \&irc_start, |
| @@ -148,7 +148,18 @@ sub irc_pub_msg{ | |||
| 148 | &{$commands{ $1 } || \&francoise_donothing } ( $kernel, $channel, $2 ); | 148 | &{$commands{ $1 } || \&francoise_donothing } ( $kernel, $channel, $2 ); |
| 149 | } | 149 | } |
| 150 | 150 | ||
| 151 | if( $msg =~ /^wo ist (\S+)\??$/i ) { | 151 | for my $word ( @words ) { |
| 152 | my $is0r = 'false'; my $isact = 'false'; | ||
| 153 | my $sth = $dbh->prepare( "SELECT COUNT(*) FROM words WHERE word = ?"); | ||
| 154 | $sth->execute( $word ); | ||
| 155 | next if (($sth->fetchrow_array)) > 0; | ||
| 156 | $is0r = 'true' if $word =~ /0r/; | ||
| 157 | $isact = 'true' if $word =~ /^\*.*\*$/; | ||
| 158 | $sth = $dbh->prepare("INSERT INTO words ( word, is_0r, is_action ) VALUES ( ?, ?, ? )"); | ||
| 159 | $sth->execute( $word, $is0r, $isact ); | ||
| 160 | } | ||
| 161 | |||
| 162 | if ( $msg =~ /^wo ist (\S+)\??$/i ) { | ||
| 152 | my $wois_ = $1; | 163 | my $wois_ = $1; |
| 153 | my $wois = francoise_getbasenick( $1 ); | 164 | my $wois = francoise_getbasenick( $1 ); |
| 154 | my $sth = $dbh->prepare( "SELECT awaymsg FROM users WHERE nick = ? AND isaway = 'true'"); | 165 | my $sth = $dbh->prepare( "SELECT awaymsg FROM users WHERE nick = ? AND isaway = 'true'"); |
| @@ -229,9 +240,7 @@ sub irc_whois{ | |||
| 229 | 240 | ||
| 230 | sub francoise_getbasenick{ | 241 | sub francoise_getbasenick{ |
| 231 | my $nick = $_[0]; | 242 | my $nick = $_[0]; |
| 232 | 243 | $nick =~ s/^(.+)[_|^-].*/$1/; | |
| 233 | $nick = ( split /_/, $nick )[0] || $nick; | ||
| 234 | $nick = ( split /\|/, $nick )[0] || $nick; | ||
| 235 | 244 | ||
| 236 | my $sth = $dbh->prepare( "SELECT nick FROM aliases WHERE alias = ?" ); | 245 | my $sth = $dbh->prepare( "SELECT nick FROM aliases WHERE alias = ?" ); |
| 237 | $sth->execute($nick); | 246 | $sth->execute($nick); |
