X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2FModules%2FNews.pl;h=4af400be9a8b6da2ec074eb819ae38cccd8b3dfd;hb=0a03234c837cefef8cd59c3f078e8a1732ae35c9;hp=2afb80ad49c707f1f65e4d19937cadb65e254cf8;hpb=25a5f8b539e3977d20647a26e3f79ecdab4cddc9;p=infobot.git diff --git a/src/Modules/News.pl b/src/Modules/News.pl index 2afb80a..4af400b 100644 --- a/src/Modules/News.pl +++ b/src/Modules/News.pl @@ -35,12 +35,12 @@ sub Parse { &readNews(); } - if ($::msgType ne "private") { + if ($::msgType ne 'private') { $chan = $::chan; } if (defined $what and $what =~ s/^($::mask{chan})\s*//) { - # todo: check if the channel exists aswell. + # TODO: check if the channel exists aswell. $chan = lc $1; if (!&::IsNickInChan($who, $chan)) { @@ -118,8 +118,8 @@ sub Parse { } elsif ($what =~ /^(un)?notify$/i) { my $state = ($1) ? 0 : 1; - # todo: don't notify even if "news" is called. - if (!&::IsChanConf("newsNotifyAll")) { + # TODO: don't notify even if 'News' is called. + if (&::IsChanConf('newsNotifyAll') <= 0) { &::DEBUG("news: chan => $chan, ::chan => $::chan."); &::notice($who, "not available for this channel or disabled altogether."); return; @@ -137,7 +137,7 @@ sub Parse { } else { # state = 0 my $x = $::newsuser{$chan}{$who}; if (defined $x and ($x == 0 or $x == -1)) { - &::notice($who, "notify already disabled"); + &::notice($who, 'notify already disabled'); return; } $::newsuser{$chan}{$who} = -1; @@ -150,7 +150,7 @@ sub Parse { } sub readNews { - my $file = "$::bot_base_dir/blootbot-news.txt"; + my $file = "$::bot_base_dir/infobot-news.txt"; if (! -f $file or -z $file) { return; } @@ -167,7 +167,7 @@ sub readNews { while () { chop; - # todo: allow commands. + # TODO: allow commands. if (/^[\s\t]+(\S+):[\s\t]+(.*)$/) { if (!defined $item) { @@ -198,9 +198,9 @@ sub readNews { return unless ($ci or $cn or $cu); &::status("News: read ". - $ci. &::fixPlural(" item", $ci). " for ". - $cn. &::fixPlural(" chan", $cn). ", ". - $cu. &::fixPlural(" user", $cu), " cache" + $ci. &::fixPlural(' item', $ci). ' for '. + $cn. &::fixPlural(' chan', $cn). ', '. + $cu. &::fixPlural(' user', $cu), ' cache' ); } @@ -211,14 +211,14 @@ sub writeNews { } # should define this at the top of file. - my $file = "$::bot_base_dir/blootbot-news.txt"; + my $file = "$::bot_base_dir/infobot-news.txt"; if (fileno NEWS) { &::ERROR("News: write: fileno NEWS exists, should never happen."); return; } - # todo: add commands to output file. + # TODO: add commands to output file. my $c = 0; my($cc,$ci,$cu) = (0,0,0); @@ -243,8 +243,8 @@ sub writeNews { } } - # todo: show how many users we wrote down. - if (&::getChanConfList("newsKeepRead")) { + # TODO: show how many users we wrote down. + if (&::getChanConfList('newsKeepRead')) { # old users are removed in newsFlush(), perhaps it should be # done here. @@ -266,7 +266,7 @@ sub add { my($str) = @_; if (!defined $chan or !defined $str or $str =~ /^\s*$/) { - &::help("news add"); + &::help('news add'); return; } @@ -281,7 +281,7 @@ sub add { } $::news{$chan}{$str}{Time} = time(); - my $expire = &::getChanConfDefault("newsDefaultExpire",7); + my $expire = &::getChanConfDefault('newsDefaultExpire',7, $chan); $::news{$chan}{$str}{Expire} = time() + $expire*60*60*24; $::news{$chan}{$str}{Author} = $::who; # case! @@ -302,7 +302,7 @@ sub del { my $item = 0; if (!defined $what) { - &::help("news del"); + &::help('news del'); return; } @@ -350,10 +350,10 @@ sub del { if (exists $::news{$chan}{$what}) { my $auth = 0; $auth++ if ($::who eq $::news{$chan}{$what}{Author}); - $auth++ if (&::IsFlag("o")); + $auth++ if (&::IsFlag('o')); if (!$auth) { - # todo: show when it'll expire. + # TODO: show when it'll expire. &::notice($who, "Sorry, you cannot remove items; just let them expire on their own."); return; } @@ -371,7 +371,7 @@ sub list { return; } - if (&::IsChanConf("newsKeepRead")) { + if (&::IsChanConf('newsKeepRead') > 0) { my $x = $::newsuser{$chan}{$who}; if (defined $x and ($x == 0 or $x == -1)) { @@ -404,7 +404,7 @@ sub list { } my $timestr = &::Time2String(time() - $newest); &::msg($who, "|= Last updated $timestr ago."); - &::msg($who, " \037Num\037 \037Item ".(" "x40)." \037"); + &::msg($who, " \037Num\037 \037Item ".(' 'x40)." \037"); # &::DEBUG("news: list: expire = $expire"); # &::DEBUG("news: list: eno = $eno"); @@ -413,14 +413,14 @@ sub list { foreach ( &getNewsAll() ) { my $subtopic = $_; my $setby = $::news{$chan}{$subtopic}{Author}; - my $chr = (exists $::News{$chan}{$subtopic}{Text}) ? "" : "*"; + my $chr = (exists $::News{$chan}{$subtopic}{Text}) ? '' : '*'; if (!defined $subtopic) { &::DEBUG("news: warn: subtopic == undef."); next; } - # todo: show request stats aswell. + # TODO: show request stats aswell. &::msg($who, sprintf("\002[\002%2d\002]\002%s %s", $i, $chr, $subtopic)); $i++; @@ -441,7 +441,7 @@ sub read { my($str) = @_; if (!defined $chan or !defined $str or $str =~ /^\s*$/) { - &::help("news read"); + &::help('news read'); return; } @@ -452,7 +452,7 @@ sub read { my $item = &getNewsItem($str); if (!defined $item or !scalar keys %{ $::news{$chan}{$item} }) { - # todo: numerical check. + # TODO: numerical check. if ($str =~ /^(\d+)[-, ](\d+)$/ or $str =~ /^-(\d+)$/ or $str =~ /^(\d+)-$/ or 0 @@ -466,7 +466,7 @@ sub read { } if (!exists $::news{$chan}{$item}{Text}) { - &::notice($who, "Someone forgot to add info to this news item"); + &::notice($who, 'Someone forgot to add info to this news item'); return; } @@ -511,8 +511,8 @@ sub read { sub mod { my($item, $str) = split /\s+/, $_[0], 2; - if (!defined $item or $item eq "" or $str =~ /^\s*$/) { - &::help("news mod"); + if (!defined $item or $item eq '' or $str =~ /^\s*$/) { + &::help('news mod'); return; } @@ -536,13 +536,13 @@ sub mod { } ### TODO: use m### to make code safe! - # todo: make code safer. + # TODO: make code safer. my $done = 0; - # todo: use eval to deal with flags easily. - if ($flags eq "") { + # TODO: use eval to deal with flags easily. + if ($flags eq '') { $done++ if (!$done and $mod_news =~ s/\Q$op\E/$np/); $done++ if (!$done and $mod_nnews =~ s/\Q$op\E/$np/); - } elsif ($flags eq "g") { + } elsif ($flags eq 'g') { $done++ if ($mod_news =~ s/\Q$op\E/$np/g); $done++ if ($mod_nnews =~ s/\Q$op\E/$np/g); } @@ -598,8 +598,8 @@ sub set { $what = $1 if ($args =~ s/^(\S+)\s*//); $value = $args; - if ($item eq "") { - &::help("news set"); + if ($item eq '') { + &::help('news set'); return; } @@ -617,7 +617,7 @@ sub set { } my $ok = 0; - my @elements = ("Expire","Text"); + my @elements = ('Expire','Text'); foreach (@elements) { next unless ($what =~ /^$_$/i); $what = $_; @@ -641,8 +641,8 @@ sub set { return; } - if ($what eq "Expire") { - # todo: use do_set(). + if ($what eq 'Expire') { + # TODO: use do_set(). my $time = 0; my $plus = ($value =~ s/^\+//g); @@ -697,7 +697,7 @@ sub set { # &::DEBUG("news: who => '$who'"); my $author = $::news{$chan}{$news}{Author}; $auth++ if ($::who eq $author); - $auth++ if (&::IsFlag("o")); + $auth++ if (&::IsFlag('o')); if (!defined $author) { &::DEBUG("news: news{$chan}{$news}{Author} is not defined! auth'd anyway"); $::news{$chan}{$news}{Author} = $::who; @@ -706,12 +706,12 @@ sub set { } if (!$auth) { - # todo: show when it'll expire. + # TODO: show when it'll expire. &::notice($who, "Sorry, you cannot set items. (author $author owns it)"); return; } - # todo: clean this up. + # TODO: clean this up. my $old = $::news{$chan}{$news}{$what}; if (defined $old) { &::DEBUG("news: old => $old."); @@ -727,7 +727,7 @@ sub latest { $chan = $tchan; $who = $::who; - # todo: if chan = undefined, guess. + # TODO: if chan = undefined, guess. # if (!exists $::news{$chan}) { if (!exists $::channels{$chan}) { &::notice($who, "invalid chan $chan") if ($flag); @@ -751,8 +751,7 @@ sub latest { } $::chan = $chan; - my $x = &::IsChanConf("newsNotifyAll"); - return if (!$x); + return if (&::IsChanConf('newsNotifyAll') <= 0); # I don't understand this code ;) $t = 1 if (!defined $t); @@ -792,14 +791,14 @@ sub latest { # scalar @new, !$flag my $unread = scalar @new; my $total = scalar keys %{ $::news{$chan} }; - if (!$flag && !&::IsChanConf("newsTellUnread")) { + if (!$flag && &::IsChanConf('newsTellUnread') <= 0) { return; } if (!$flag) { return unless ($unread); - # just a temporary measure not to flood ourself off the + # just a temporary measure not to flood ourself off the # network with news until we get global notice() and msg() # throttling. if (time() - ($::cache{newsTime} || 0) < 5) { @@ -831,7 +830,7 @@ sub latest { $i = &newsS2N($_); $sorted[$i] = $_; } - + for ($i=0; $i<=scalar(@sorted); $i++) { my $news = $sorted[$i]; next unless (defined $news); @@ -844,7 +843,7 @@ sub latest { } ); } - # todo: implement throttling via schedule into ¬ice() / &msg(). + # TODO: implement throttling via schedule into ¬ice() / &msg(). $::conn->schedule(int((2+$i)/2), sub { &::notice($who, "|= to read, do \002news $chan read <#>\002 or \002news $chan read \002"); } ); @@ -989,7 +988,7 @@ sub do_set { return; } - &::DEBUG("news: do_set: TODO..."); + &::TODO("news: do_set:"); } sub stats {