X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Delling.pm;h=41d87254ae6ea852db45c148504954f0e36398b2;hb=cf8fc5e52f53abda2b2372fb8c337710155f9525;hp=96ff5ba9ebe4ae111ab4d93ae7a81a86ef357917;hpb=445fc8eeeb37b4728b1d7608862e772856eebb19;p=NDIRC.git diff --git a/Delling.pm b/Delling.pm index 96ff5ba..41d8725 100644 --- a/Delling.pm +++ b/Delling.pm @@ -103,7 +103,7 @@ WHERE u.hostmask = $1 AND channel = $2 AND flag IN ('o','v'); $irc->yield(mode => $channel, $mode, @who) if $mode; } - if (lc $channel ~~ lc $self->targets->{members}){ + if (lc $channel ~~ @{$self->targets->{members}}){ if (time - $last_announcement < 1){ $last_announcement = time; return; @@ -115,14 +115,14 @@ FROM users u WHERE hostmask = ? }, undef, $address); if ($user){ unless ($user->{password}) { - $irc->yield(privmsg => $self->targets->{members}, "$nick: Get a new random password with /msg delling !getpass . If you don't know your username, then you can get it with .points"); + $irc->yield(privmsg => $channel, "$nick: Get a new random password with /msg delling !getpass . If you don't know your username, then you can get it with .points"); } if ($tick > 12 && not defined $user->{pid}){ - $irc->yield(privmsg => $self->targets->{members}, "$nick: go to https://nd.ruin.nu/ and enter your coords."); + $irc->yield(privmsg => $channel, "$nick: go to https://nd.ruin.nu/ and enter your coords."); } if (not defined $user->{last_forum_visit}){ - $irc->yield(privmsg => $self->targets->{members}, "$nick: Go read the forum! https://nd.ruin.nu/forum"); + $irc->yield(privmsg => $channel, "$nick: Go read the forum! https://nd.ruin.nu/forum"); }else { my $unread = $dbh->selectrow_hashref(q{SELECT * FROM unread_posts($1)},undef,$user->{uid}); if ($unread && $unread->{new}){ @@ -162,8 +162,9 @@ sub refresh { }); $scans->execute; while (my $scan = $scans->fetchrow_hashref){ - $heap->{irc}->yield(notice => $scan->{nick}, "($scan->{coords} $scan->{type})" - ." http://game.planetarion.com/showscan.pl?scan_id=$scan->{scan_id}"); + $self->message("($scan->{coords} $scan->{type})" + ." http://game.planetarion.com/showscan.pl?scan_id=$scan->{scan_id}" + , @{$scan->{nick}}); $sentscan->execute($scan->{id}); } @@ -181,8 +182,8 @@ sub refresh { $ircreqs->execute; while (my $req = $ircreqs->fetchrow_hashref){ if ($req->{channel} eq 'def'){ - $self->toTarget(def => chr(3)."04 ## $req->{username} via webbie ## >> $req->{message}"); - #$self->parseCommand("~report_incs $req->{message}",$irc,$req->{username},' BATCH ',$disp->targets->{def},$dbh); + $self->toTarget(def => "## $req->{username} via webbie ## >> $req->{message}"); + $self->parseCommand("~report_incs $req->{message}",$irc,$req->{username},' BATCH ','#def-ndawn',$dbh); }else{ $self->toTarget($req->{channel} => "<$req->{username} via webbie> $req->{message}"); } @@ -204,7 +205,7 @@ GROUP BY username,call,tick,dm.fleet,p.value my $updefmis = $dbh->prepare(q{UPDATE defense_missions SET announced = TRUE WHERE fleet = ?}); $defmissions->execute(); while (my $mission = $defmissions->fetchrow_hashref){ - $self->toTarget(def => chr(3)."06 $mission->{username} sent def to call $mission->{call}, $mission->{value}% of value (tick $mission->{tick}) https://nd.ruin.nu/calls/edit/$mission->{call}"); + $self->toTarget(def => "$mission->{username} sent def to call $mission->{call}, $mission->{value}% of value (tick $mission->{tick}) https://nd.ruin.nu/calls/edit/$mission->{call}"); $updefmis->execute($mission->{fleet}); } @@ -236,23 +237,17 @@ after discord_message_create => sub { say localtime(time) . " - $channel_id $channel $author_name $author_id"; - my ($p,$command,$args) = ($msg =~ /^([.!~])(\S+)(?: (.+))?/); - - - return 0 unless $self->disp->has_command($command,$channel); - - say localtime(time) . " - $msg"; - my $c = NDIRC::DiscordContext->new({ discord_id => $author_name, channel_id => $channel_id, channel => $channel, disp => $self->disp, model => DB(), + bot => $self, discord => $self->discord, }); - return $self->disp->run_command($c,$command,$args); + return $self->handleCommand($c,$msg); };