X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Bot.pm;h=3cb565ff7638dcd4e9159003607229332327a4b3;hb=faaa3329a3df738727b7ff63831c195a3c81ad09;hp=078563d8bdfa3e85e0f78da7c48d5cbd30b35799;hpb=6e09408e9745c52f46cfb9fbf337a3935a03dc07;p=NDIRC.git diff --git a/Bot.pm b/Bot.pm index 078563d..3cb565f 100644 --- a/Bot.pm +++ b/Bot.pm @@ -147,6 +147,7 @@ sub _start { )); $self->discord->gw->on('MESSAGE_CREATE' => sub { $self->discord_message_create(@_) }); + $self->discord->gw->on('MESSAGE_UPDATE' => sub { $self->discord_message_create(@_) }); $self->discord->gw->on('READY' => sub { $self->discord_ready(@_) }); $self->discord->gw->on('GUILD_CREATE' => sub { $self->discord_guild_create(@_) }); $self->discord->gw->on('CHANNEL_CREATE' => sub { $self->discord_channel_create(@_) }); @@ -239,16 +240,16 @@ sub sig_usr2 { sub _build_disp { my ($self) = @_; - my $disp = new NDIRC::Dispatcher; + my $disp = NDIRC::Dispatcher->new; - if (my $commands = new IO::File 'commands'){ + if (my $commands = IO::File->new('commands')){ my @commands = split /\W+/, do{local $/; <$commands>}; say "Loading commands from: @commands"; $disp->load(@commands); } %{$self->targets} = (); - my $channels = new IO::File 'channels' or die $!;; + my $channels = IO::File->new('channels') or die $!;; while (<$channels>){ my ($chan, @types) = split /\s+/; say "$chan - @types"; @@ -371,7 +372,7 @@ sub discord_channel_create { sub handleCommand { my ($self, $c, $msg) = @_; - my ($p,$command,$args) = ($msg =~ /^([.])(\S+)(?: (.+))?/); + my ($p,$command,$args) = ($msg =~ /^([.!])(\S+)(?: (.+))?/); if ($msg =~ m{https?://[\w.]+/.+?scan(_id|_grp)?=(\w+)}){ if (!$command || $command =~ m{^https?://}){ @@ -385,6 +386,8 @@ sub handleCommand { say localtime(time) . " - $msg"; + $c->dm_reply(1) if $p eq '!'; + return $self->disp->run_command($c,$command,$args); }