@outputstack = (undef) unless (@outputstack);
}
+my $quotesite_commands = {
+ 'save' => sub {
+ cmd_save();
+ },
+
+
+ 'set' => sub {
+ cmd_set(@_);
+ },
+
+ 'show' => sub {
+ cmd_show(@_);
+ },
+
+ 'help' => sub {
+ cmd_help(@_);
+ }.
+
+ 'enable' => sub {
+ cmd_enable(@_);
+ },
+
+ 'disable' => sub {
+ cmd_disable(@_);
+ },
+
+ 'reload' => sub {
+ init_quotesite(0);
+ },
+
+ 'debug' => sub {
+ $debug = 1;
+ foreach (@grabbers) {
+ $_->setdebug(1);
+ }
+ write_irssi('Enabled debugging');
+ },
+
+ 'nodebug' => sub {
+ $debug = 0;
+ foreach (@grabbers) {
+ $_->setdebug(0);
+ }
+ write_irssi('Disabled debugging');
+ },
+};
+
+
sub write_irssi {
my @text = @_;
my $output = $outputstack[0];
sub cmdhandler {
my $event = shift;
- my @params = split(/\s+/, $event->message());
+ my ($cmd, @params) = split(/\s+/, $event->message());
push_output($event->ewpf);
- if ($params[0] eq 'save') {
- cmd_save();
- } elsif ($params[0] eq 'set') {
- shift(@params);
- cmd_set(@params);
- } elsif ($params[0] eq 'show') {
- shift(@params);
- cmd_show(@params);
- } elsif ($params[0] eq 'help') {
- shift(@params);
- cmd_help(@params);
- } elsif ($params[0] eq 'enable') {
- shift(@params);
- cmd_enable(@params);
- } elsif ($params[0] eq 'disable') {
- shift(@params);
- cmd_disable(@params);
- } elsif ($params[0] eq 'reload') {
- init_quotesite(0);
- } elsif ($params[0] eq 'debug') {
- $debug = 1;
- foreach (@grabbers) {
- $_->setdebug(1);
- }
- write_irssi('Enabled debugging');
- } elsif ($params[0] eq 'nodebug') {
- $debug = 0;
- foreach (@grabbers) {
- $_->setdebug(0);
- }
- write_irssi('Disabled debugging');
+ if (exists($quotesite_commands->{$cmd})) {
+ $quotesite_commands->{$cmd}->(@params);
}
pop_output();