&addCmdHook("extra", 'uptime', ('CODEREF' => 'uptime', 'Identifier' => 'uptime',
'Cmdstats' => 'Uptime') );
&addCmdHook("extra", 'nullski', ('CODEREF' => 'nullski', ) );
-&addCmdHook("extra", '(fm|freshmeat)', ('CODEREF' => 'Freshmeat::Freshmeat',
- 'Identifier' => 'freshmeat', 'Cmdstats' => 'Freshmeat',
- 'Forker' => 1, 'Help' => 'freshmeat') );
&addCmdHook("extra", 'verstats', ('CODEREF' => 'do_verstats' ) );
&addCmdHook("extra", 'weather', ('CODEREF' => 'Weather::Weather',
'Identifier' => 'weather', 'Help' => 'weather',
return "CONTINUE";
}
-# Freshmeat. xk++
-sub freshmeat {
- my ($query) = @_;
-
- if (!defined $query) {
- &help("freshmeat");
- &msg($who, "I have \002".&countKeys("freshmeat")."\002 entries.");
- return;
- }
-
- &Freshmeat::Freshmeat($query);
-}
-
# Uptime. xk++
sub uptime {
my $count = 1;
# registered flags... not used yet.
my @regFlagsChan = (
"autojoin",
- "freshmeat",
"limitcheckInterval",
"limitcheckPlus",
"allowConv",
return $result;
}
- ### TODO: Use &Forker(); move function to Freshmeat.pl.
- if (&IsChanConf("freshmeatForFactoid")) {
- &loadMyModule($myModules{'freshmeat'});
- $result = &Freshmeat::showPackage($query);
- return $result if (defined $result);
- }
-
### TODO: Use &Forker(); move function to Debian.pl
if (&IsChanConf("debianForFactoid")) {
&loadMyModule($myModules{'debian'});
my $also = ($rhs =~ s/^-?also //i);
my $also_or = ($also and $rhs =~ s/\s+(or|\|\|)\s+//);
- # freshmeat
- if (&IsChanConf("freshmeatForFactoid")) {
- # todo: "name" is invalid for fm ][
- if ( &sqlSelect("freshmeat", "name", { name => $lhs } ) ) {
- &msg($who, "permission denied. (freshmeat)");
- &status("alert: $who wanted to teach me something that freshmeat already has info on.");
- return 1;
- }
- }
-
# factoid arguments handler.
# must start with a non-variable
if (&IsChanConf("factoidArguments") and $lhs =~ /^[^\$]+.*\$/) {
&uptimeLoop(1);
&randomQuote(2);
&randomFactoid(2);
- &randomFreshmeat(2);
&logLoop(1);
&chanlimitCheck(1);
&netsplitCheck(1); # mandatory
&shmFlush(1); # mandatory
&slashdotLoop(2);
&plugLoop(2);
- &freshmeatLoop(2);
&kernelLoop(2);
&wingateWriteFile(2);
&factoidCheck(2); # takes a couple of seconds on a 486. defer it
}
}
-sub randomFreshmeat {
- my $interval = &getChanConfDefault("randomFreshmeatInterval", 60);
-
- if (@_) {
- &ScheduleThis($interval, "randomFreshmeat");
- return if ($_[0] eq "2"); # defer.
- }
-
- my @chans = &ChanConfList("randomFreshmeat");
- return unless (scalar @chans);
-
- &Forker("freshmeat", sub {
- my $retval = &Freshmeat::randPackage();
-
- foreach (@chans) {
- next unless (&validChan($_));
-
- &status("sending random Freshmeat to $_.");
- &say($_, $line);
- }
- } );
-}
-
sub logLoop {
if (@_) {
&ScheduleThis(60, "logLoop");
} );
}
-sub freshmeatLoop {
- if (@_) {
- &ScheduleThis(60, "freshmeatLoop");
- return if ($_[0] eq "2");
- }
-
- my @chans = &ChanConfList("freshmeatAnnounce");
- return unless (scalar @chans);
-
- &Forker("freshmeat", sub {
- my $data = &Freshmeat::freshmeatAnnounce();
-
- foreach (@chans) {
- next unless (&::validChan($_));
-
- &::status("sending freshmeat update to $_.");
- &msg($_, $data);
- }
- } );
-}
-
sub kernelLoop {
if (@_) {
&ScheduleThis(240, "kernelLoop");
}
}
- foreach ( qw(factoids freshmeat rootwarn seen stats botmail) ) {
+ foreach ( qw(factoids rootwarn seen stats botmail) ) {
next if (exists $db{$_});
&status("checkTables: creating new table $_...");