mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-23 04:19:27 +01:00
pbot: allowed bot trigger to be customizable from pbot.pl; bot registry coming soon...
This commit is contained in:
parent
cb2c17f636
commit
805832d977
@ -79,7 +79,7 @@ sub on_msg {
|
|||||||
my ($nick, $host) = ($event->nick, $event->host);
|
my ($nick, $host) = ($event->nick, $event->host);
|
||||||
my $text = $event->{args}[0];
|
my $text = $event->{args}[0];
|
||||||
|
|
||||||
$text =~ s/^!?(.*)/\!$1/;
|
$text =~ s/^\Q$self->{pbot}->{trigger}\E?(.*)/$self->{pbot}->{trigger}$1/;
|
||||||
$event->{to}[0] = $nick;
|
$event->{to}[0] = $nick;
|
||||||
$event->{args}[0] = $text;
|
$event->{args}[0] = $text;
|
||||||
$self->on_public($conn, $event);
|
$self->on_public($conn, $event);
|
||||||
|
@ -79,7 +79,7 @@ sub process_line {
|
|||||||
$command = "$1" . (defined $2 and length $2 >= 2 ? substr $2, 1, 1 : "");
|
$command = "$1" . (defined $2 and length $2 >= 2 ? substr $2, 1, 1 : "");
|
||||||
} elsif($text =~ /^(.*?),?\s+$mynick([?]*)$/i) {
|
} elsif($text =~ /^(.*?),?\s+$mynick([?]*)$/i) {
|
||||||
$command = "$1" . (defined $2 and length $2 >= 2 ? substr $2, 1, 1 : "");
|
$command = "$1" . (defined $2 and length $2 >= 2 ? substr $2, 1, 1 : "");
|
||||||
} elsif($text =~ /^!(.*?)([?]*)$/) {
|
} elsif($text =~ /^\Q$pbot->{trigger}\E(.*?)([?]*)$/) {
|
||||||
$command = "$1" . (defined $2 and length $2 >= 2 ? substr $2, 1, 1 : "");
|
$command = "$1" . (defined $2 and length $2 >= 2 ? substr $2, 1, 1 : "");
|
||||||
} elsif($text =~ /http:\/\/([^\s]+)/i) {
|
} elsif($text =~ /http:\/\/([^\s]+)/i) {
|
||||||
$has_url = $1;
|
$has_url = $1;
|
||||||
|
28
PBot/PBot.pm
28
PBot/PBot.pm
@ -67,19 +67,21 @@ sub initialize {
|
|||||||
|
|
||||||
my $log_file = delete $conf{log_file};
|
my $log_file = delete $conf{log_file};
|
||||||
|
|
||||||
$self->{conf_dir} = delete $conf{conf_dir} || "$ENV{HOME}/pbot/config";
|
$self->{conf_dir} = delete $conf{conf_dir} // "$ENV{HOME}/pbot/config";
|
||||||
$self->{data_dir} = delete $conf{data_dir} || "$ENV{HOME}/pbot/data";
|
$self->{data_dir} = delete $conf{data_dir} // "$ENV{HOME}/pbot/data";
|
||||||
$self->{module_dir} = delete $conf{module_dir} || "$ENV{HOME}/pbot/modules";
|
$self->{module_dir} = delete $conf{module_dir} // "$ENV{HOME}/pbot/modules";
|
||||||
|
|
||||||
$self->{ircserver} = delete $conf{ircserver} || "irc.freenode.net";
|
$self->{ircserver} = delete $conf{ircserver} // "irc.freenode.net";
|
||||||
$self->{botnick} = delete $conf{botnick} || "pbot3";
|
$self->{botnick} = delete $conf{botnick} // "pbot3";
|
||||||
$self->{username} = delete $conf{username} || "pbot3";
|
$self->{username} = delete $conf{username} // "pbot3";
|
||||||
$self->{ircname} = delete $conf{ircname} || "http://code.google.com/p/pbot2-pl/";
|
$self->{ircname} = delete $conf{ircname} // "http://code.google.com/p/pbot2-pl/";
|
||||||
$self->{identify_password} = delete $conf{identify_password} || "";
|
$self->{identify_password} = delete $conf{identify_password} // "";
|
||||||
|
|
||||||
$self->{max_msg_len} = delete $conf{max_msg_len} || 430;
|
$self->{max_msg_len} = delete $conf{max_msg_len} // 430;
|
||||||
$self->{MAX_FLOOD_MESSAGES} = delete $conf{MAX_FLOOD_MESSAGES} || 4;
|
$self->{MAX_FLOOD_MESSAGES} = delete $conf{MAX_FLOOD_MESSAGES} // 4;
|
||||||
$self->{MAX_NICK_MESSAGES} = delete $conf{MAX_NICK_MESSAGES} || 12;
|
$self->{MAX_NICK_MESSAGES} = delete $conf{MAX_NICK_MESSAGES} // 12;
|
||||||
|
|
||||||
|
$self->{trigger} = delete $conf{trigger} // '!';
|
||||||
|
|
||||||
my $channels_file = delete $conf{channels_file};
|
my $channels_file = delete $conf{channels_file};
|
||||||
my $admins_file = delete $conf{admins_file};
|
my $admins_file = delete $conf{admins_file};
|
||||||
@ -226,10 +228,10 @@ sub check_stdin {
|
|||||||
|
|
||||||
if($input =~ m/^~([^ ]+)\s+(.*)/) {
|
if($input =~ m/^~([^ ]+)\s+(.*)/) {
|
||||||
$from = $1;
|
$from = $1;
|
||||||
$text = "!$2";
|
$text = "$self->{trigger}$2";
|
||||||
} else {
|
} else {
|
||||||
$from = undef;
|
$from = undef;
|
||||||
$text = "!$input";
|
$text = "$self->{trigger}$input";
|
||||||
}
|
}
|
||||||
|
|
||||||
return $self->interpreter->process_line($from, $self->{botnick}, "stdin", "localhost", $text);
|
return $self->interpreter->process_line($from, $self->{botnick}, "stdin", "localhost", $text);
|
||||||
|
@ -13,7 +13,7 @@ use warnings;
|
|||||||
# These are set automatically by the build/commit script
|
# These are set automatically by the build/commit script
|
||||||
use constant {
|
use constant {
|
||||||
BUILD_NAME => "PBot",
|
BUILD_NAME => "PBot",
|
||||||
BUILD_REVISION => 283,
|
BUILD_REVISION => 284,
|
||||||
BUILD_DATE => "2011-01-29",
|
BUILD_DATE => "2011-01-29",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
3
pbot.pl
3
pbot.pl
@ -40,6 +40,9 @@ my %config = (
|
|||||||
# (channels will not be auto-joined until identified)
|
# (channels will not be auto-joined until identified)
|
||||||
identify_password => '*',
|
identify_password => '*',
|
||||||
|
|
||||||
|
# The bot is triggered by using its name, or the following trigger SINGLE character
|
||||||
|
trigger => '.',
|
||||||
|
|
||||||
# -----------------------------------------------------
|
# -----------------------------------------------------
|
||||||
# The bot can export the latest factoids and quotegrabs to an HTML
|
# The bot can export the latest factoids and quotegrabs to an HTML
|
||||||
# document. If you run a webserver or something similiar, you may
|
# document. If you run a webserver or something similiar, you may
|
||||||
|
Loading…
Reference in New Issue
Block a user