Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package M::AI;
- use utf8;
- use strict;
- use warnings;
- use feature qw(switch);
- use API::Std qw(hook_add hook_del cmd_add cmd_del conf_get err trans);
- use API::IRC qw(notice privmsg);
- use API::Log qw(slog dbug);
- use Hailo;
- our $LPATH;
- our $CURPATH;
- our %chans;
- #create hailo instance
- our $bot = Hailo->new(brain=> '/home/daniel/brain.brn');
- #init sub
- sub _init {
- #create action hooks
- cmd_add('TALK', 0, 0, \%M::AI::HELP_AI, \&M::AI::cmd_toggle) or return;
- hook_add('on_cprivmsg', 'ai.pub', \&M::AI::on_cprivmsg) or return;
- hook_add('on_ucjoin', 'ai.init', \&M::AI::on_ucjoin) or return
- #create command hooks
- #TODO
- #winning
- return 1;
- }
- our %HELP_AI = (
- en => "nigga nigga nigga muh dik"
- );
- #void sub
- sub _void {
- cmd_del('TALK') or return;
- #delete action hooks
- hook_del('on_cprivmsg', 'ai.pub') or return;
- hook_del('on_ucjoin', 'ai.init') or return;
- #delete command hooks
- #todo
- #winning
- return 1;
- }
- #normal message sub
- sub on_cprivmsg {
- my ($src, $chan, @msg) = @_;
- my $fullmsg = join ' ', @msg;
- $fullmsg = Encode::encode('UTF-8', $fullmsg);
- eval { $bot->learn($fullmsg) };
- if ($chans{$src->{svr} . "." . $chan} == 1) {
- #todo talking logic here
- }
- }
- #idk
- sub on_ucjoin {
- my (($svr, $chan)) = @_;
- if (!exists($chans{$svr . $chan})) {
- $chans{$svr . "." . $chan} = 1;
- }
- }
- sub cmd_toggle {
- my ($src, @argv) = @_;
- if (!defined($argv[0])) {
- privmsg($src->{svr}, $src->{chan}, "omg plz add parameters :[");
- }
- else {
- if ($argv[0] eq 'on') {
- $chans{$src->{svr} . "." . $src->{chan}} = 1;
- privmsg($src->{svr}, $src->{chan}, "Talking turned on for " . $src->{chan});
- }
- elsif ($argv[0] eq 'off') {
- $chans{$src->{svr} . "." . $src->{chan}} = 0;
- privmsg($src->{svr}, $src->{chan}, "Talking turned off for " . $src->{chan});
- }
- }
- }
- # Start initialization.
- API::Std::mod_init('AI', 'daniel', '1.01', '3.0.0a11');
- # build: perl=5.010000
- __END__
Add Comment
Please, Sign In to add comment