Guest User

Untitled

a guest
Jun 25th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. package M::AI;
  2. use utf8;
  3. use strict;
  4. use warnings;
  5. use feature qw(switch);
  6. use API::Std qw(hook_add hook_del cmd_add cmd_del conf_get err trans);
  7. use API::IRC qw(notice privmsg);
  8. use API::Log qw(slog dbug);
  9. use Hailo;
  10. our $LPATH;
  11. our $CURPATH;
  12. our %chans;
  13.  
  14. #create hailo instance
  15. our $bot = Hailo->new(brain=> '/home/daniel/brain.brn');
  16.  
  17. #init sub
  18. sub _init {
  19. #create action hooks
  20. cmd_add('TALK', 0, 0, \%M::AI::HELP_AI, \&M::AI::cmd_toggle) or return;
  21. hook_add('on_cprivmsg', 'ai.pub', \&M::AI::on_cprivmsg) or return;
  22. hook_add('on_ucjoin', 'ai.init', \&M::AI::on_ucjoin) or return
  23. #create command hooks
  24. #TODO
  25.  
  26. #winning
  27. return 1;
  28. }
  29.  
  30. our %HELP_AI = (
  31. en => "nigga nigga nigga muh dik"
  32. );
  33.  
  34. #void sub
  35. sub _void {
  36. cmd_del('TALK') or return;
  37. #delete action hooks
  38. hook_del('on_cprivmsg', 'ai.pub') or return;
  39. hook_del('on_ucjoin', 'ai.init') or return;
  40. #delete command hooks
  41. #todo
  42.  
  43. #winning
  44. return 1;
  45. }
  46.  
  47. #normal message sub
  48. sub on_cprivmsg {
  49. my ($src, $chan, @msg) = @_;
  50. my $fullmsg = join ' ', @msg;
  51. $fullmsg = Encode::encode('UTF-8', $fullmsg);
  52. eval { $bot->learn($fullmsg) };
  53. if ($chans{$src->{svr} . "." . $chan} == 1) {
  54. #todo talking logic here
  55. }
  56. }
  57.  
  58. #idk
  59. sub on_ucjoin {
  60. my (($svr, $chan)) = @_;
  61. if (!exists($chans{$svr . $chan})) {
  62. $chans{$svr . "." . $chan} = 1;
  63. }
  64.  
  65. }
  66.  
  67. sub cmd_toggle {
  68. my ($src, @argv) = @_;
  69. if (!defined($argv[0])) {
  70. privmsg($src->{svr}, $src->{chan}, "omg plz add parameters :[");
  71. }
  72. else {
  73. if ($argv[0] eq 'on') {
  74. $chans{$src->{svr} . "." . $src->{chan}} = 1;
  75. privmsg($src->{svr}, $src->{chan}, "Talking turned on for " . $src->{chan});
  76. }
  77. elsif ($argv[0] eq 'off') {
  78. $chans{$src->{svr} . "." . $src->{chan}} = 0;
  79. privmsg($src->{svr}, $src->{chan}, "Talking turned off for " . $src->{chan});
  80. }
  81. }
  82. }
  83.  
  84.  
  85. # Start initialization.
  86. API::Std::mod_init('AI', 'daniel', '1.01', '3.0.0a11');
  87. # build: perl=5.010000
  88.  
  89. __END__
Add Comment
Please, Sign In to add comment