3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-23 11:12:42 +01:00
pbot/modules/cdecl.pl
Pragmatic Software 73b793295b todo! add support for admin management - needs support for adding/removing/saving!
todo! multi-channel support pathetic (note 12/08/09, fixed multi-channel for anti-flood and for ignore)
todo! most of this crap needs to be refactored (note 11/23/09, refactored execute_module)

0.4.1 (12/08/09): improved anti-flood system to be significantly more accurate and per-channel
                  added per-nick-per-channel message history using %flood_watch
                  add per-channel support to ignore system
                  automatically remove message history for nicks that haven't spoken in one day (run once per hour)
                  do not ignore !login command
0.3.16(11/23/09): refactored module execution to execute_module() subroutine
                  added trigger to execute get_title.pl module when URL is
                  detected in regular untriggered chat
0.3.15(11/20/09): replace 'me' with '$nick' in arguments
2009-12-09 01:08:12 +00:00

35 lines
635 B
Perl
Executable File

#!/usr/bin/perl -w
# quick and dirty by :pragma
if ($#ARGV < 0) {
print "For help with cdecl, see http://linux.die.net/man/1/cdecl\n";
die;
}
my $command = join(' ', @ARGV);
$command =~ s/-[^ ]+//g;
$command =~ s/\\//g;
$command =~ s/;/\\;/g;
$command =~ s/\(/\\(/g;
$command =~ s/\)/\\)/g;
$command =~ s/\$/\\\$/g;
$command =~ s/\[/\\[/g;
$command =~ s/\]/\\]/g;
$command =~ s/\|/\\|/g;
$command =~ s/'/\\'/g;
$command =~ s/`/\\`/g;
$command =~ s/,/\\,/g;
$command =~ s/\*/\\*/g;
$command =~ s/\?/\\?/g;
#print "[$command]\n";
my $result = `/usr/bin/cdecl -c $command`;
chomp $result;
$result =~ s/\n/, /g;
print $result;