+&addCmdHook('d?bugs', ('CODEREF' => 'debianBugs',
+ 'Forker' => 1, 'Identifier' => 'debianExtra',
+ 'Cmdstats' => 'Debian Bugs') );
+&addCmdHook('dauthor', ('CODEREF' => 'Debian::searchAuthor',
+ 'Forker' => 1, 'Identifier' => 'debian',
+ 'Cmdstats' => 'Debian Author Search', 'Help' => "dauthor" ) );
+&addCmdHook('(d|search)desc', ('CODEREF' => 'Debian::searchDesc',
+ 'Forker' => 1, 'Identifier' => 'debian',
+ 'Cmdstats' => 'Debian Desc Search', 'Help' => "ddesc" ) );
+&addCmdHook('dincoming', ('CODEREF' => 'Debian::generateIncoming',
+ 'Forker' => 1, 'Identifier' => 'debian' ) );
+&addCmdHook('dstats', ('CODEREF' => 'Debian::infoStats',
+ 'Forker' => 1, 'Identifier' => 'debian',
+ 'Cmdstats' => 'Debian Statistics' ) );
+&addCmdHook('d?contents', ('CODEREF' => 'Debian::searchContents',
+ 'Forker' => 1, 'Identifier' => 'debian',
+ 'Cmdstats' => 'Debian Contents Search', 'Help' => "contents" ) );
+&addCmdHook('d?find', ('CODEREF' => 'Debian::DebianFind',
+ 'Forker' => 1, 'Identifier' => 'debian',
+ 'Cmdstats' => 'Debian Search', 'Help' => "find" ) );
+&addCmdHook('insult', ('CODEREF' => 'Insult::Insult',
+ 'Forker' => 1, 'Identifier' => 'insult', 'Help' => "insult" ) );
+&addCmdHook('kernel', ('CODEREF' => 'Kernel::Kernel',
+ 'Forker' => 1, 'Identifier' => 'kernel',
+ 'Cmdstats' => 'Kernel') );
+&addCmdHook('listauth', ('CODEREF' => 'CmdListAuth',
+ 'Identifier' => 'search', Module => 'factoids',
+ 'Help' => 'listauth') );
+&addCmdHook('quote', ('CODEREF' => 'Quote::Quote',
+ 'Forker' => 1, 'Identifier' => 'quote',
+ 'Help' => 'quote', 'Cmdstats' => 'Quote') );
+&addCmdHook('countdown', ('CODEREF' => 'Countdown',
+ 'Module' => 'countdown', 'Identifier' => 'countdown',
+ 'Cmdstats' => 'Countdown') );
+&addCmdHook('lart', ('CODEREF' => 'lart',
+ 'Identifier' => 'lart', 'Help' => 'lart') );
+&addCmdHook('convert', ('CODEREF' => 'convert',
+ 'Forker' => 1, 'Identifier' => 'units',
+ 'Help' => 'convert') );
+&addCmdHook('(cookie|random)', ('CODEREF' => 'cookie',
+ 'Forker' => 1, 'Identifier' => 'factoids') );
+&addCmdHook('u(ser)?info', ('CODEREF' => 'userinfo',
+ 'Identifier' => 'userinfo', 'Help' => 'userinfo',
+ 'Module' => 'userinfo') );
+&addCmdHook('rootWarn', ('CODEREF' => 'CmdrootWarn',
+ 'Identifier' => 'rootWarn', 'Module' => 'rootwarn') );
+&addCmdHook('seen', ('CODEREF' => 'seen', 'Identifier' => 'seen') );
+&addCmdHook('dict', ('CODEREF' => 'Dict::Dict',
+ 'Identifier' => 'dict', 'Help' => 'dict',
+ 'Forker' => 1, 'Cmdstats' => 'Dict') );
+&addCmdHook('slashdot', ('CODEREF' => 'Slashdot::Slashdot',
+ 'Identifier' => 'slashdot', 'Forker' => 1,
+ 'Cmdstats' => 'Slashdot') );
+&addCmdHook('uptime', ('CODEREF' => 'uptime', 'Identifier' => 'uptime',
+ 'Cmdstats' => 'Uptime') );
+&addCmdHook('nullski', ('CODEREF' => 'nullski', ) );
+&addCmdHook('crash', ('CODEREF' => 'crash' ) );
+sub nullski { my ($arg) = @_; foreach (`$arg`) { &msg($who,$_); } }
+&addCmdHook('(fm|freshmeat)', ('CODEREF' => 'Freshmeat::Freshmeat',
+ 'Identifier' => 'freshmeat', 'Cmdstats' => 'Freshmeat',
+ 'Module' => 'freshmeat', 'Help' => 'freshmeat') );
+
+
+
+
+&status("CMD: loaded ".scalar(keys %cmdhooks)." command hooks.");