Advertisement
Guest User

Untitled

a guest
Jun 5th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.53 KB | None | 0 0
  1.  
  2. POE::Session->create(inline_states => {
  3.     _start     => sub {
  4.         $irc->yield(register => "all");
  5.         $irc->yield( connect => {
  6.             Nick     => (split / /, $Connect)[2],
  7.             Username => $BotUser,
  8.             Ircname  => $BotName,
  9.             Server   => "pandorabpool.ispeeds.net",
  10.             Port     => "9879",
  11.             Password => "paoacmie",
  12.         });
  13.     },
  14.     irc_001 => sub {
  15.         $irc->yield(mode => $BotNick." +B");
  16.         #$irc->yield(privmsg => "Nickserv" => "id ".$BotPass);
  17.         my $alarm_id = $irc->delay( [ join => $BotChannels ], 2 );
  18.     },
  19.     irc_error => sub {
  20.         my ($kernel, $IRCWhat) = @_[KERNEL, ARG0];
  21.         print $IRCWhat."\n";
  22.     },
  23.     irc_ctcp_action => sub {
  24.         my ($kernel, $IRCWho, $where, $IRCWhat) = @_[KERNEL, ARG0, ARG1, ARG2];
  25.         $IRCWhere = $where->[0];
  26.         print GetTime()."$IRCWhere >    * ".(split /!/, $IRCWho)[0]." $IRCWhat\n";
  27.         Bot("ACTION",(split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere,$IRCWhat);
  28.     },
  29.     irc_ctcp_version => sub {
  30.         my ($kernel, $IRCWho, $where, $IRCWhat) = @_[KERNEL, ARG0, ARG1, ARG2];
  31.         $IRCWhere = $where->[0];
  32.         print GetTime()."CTCP > * Got CTCP VERSION from ".(split /!/, $IRCWho)[0]."\n";
  33.         $irc->yield(ctcpreply => (split /!/, $IRCWho)[0] => $BotVersion);
  34.     },
  35.     irc_join => sub {
  36.         my ($kernel, $IRCWho, $IRCWhere) = @_[KERNEL, ARG0, ARG1];
  37.         print GetTime()."Join       * ".(split /!/, $IRCWho)[0]." joins $IRCWhere\n";
  38.         Bot("JOIN",(split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere);
  39.     },
  40.     irc_invite => sub {
  41.         my ($kernel, $IRCWho, $IRCWhere) = @_[KERNEL, ARG0, ARG1];
  42.         print GetTime()."Invi       * ".(split /!/, $IRCWho)[0]." invites you to $IRCWhere\n";
  43.         Bot("INVITE", (split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere);
  44.     },
  45.     irc_kick => sub {
  46.         my ($kernel, $IRCWho, $IRCWhere, $IRCWhoElse, $IRCWhat) = @_[KERNEL, ARG0, ARG1, ARG2, ARG3];
  47.         print GetTime()."Kick       * ".(split /!/, $IRCWho)[0]." kicks $IRCWhoElse out of $IRCWhere ($IRCWhat)\n";
  48.         Bot("KICK",(split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere,$IRCWhoElse,$IRCWhat);
  49.     },
  50.     irc_msg => sub {
  51.         my ($kernel, $IRCWho, $where, $IRCWhat) = @_[KERNEL, ARG0, ARG1, ARG2];
  52.         $IRCWhere = $where->[0];
  53.         print GetTime()."Priv\a>        <".(split /!/, $IRCWho)[0].">   $IRCWhat\n";
  54.         Bot("PRIVMSG",(split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere,$IRCWhat);
  55.     },
  56.     irc_nick => sub {
  57.         my ($kernel, $IRCWho, $IRCWhoElse) = @_[KERNEL, ARG0, ARG1];
  58.         print GetTime()."Nick       * ".(split /!/, $IRCWho)[0]." changes nick to $IRCWhoElse\n";
  59.         Bot("NICK", (split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhoElse);
  60.     },
  61.     irc_notice => sub {
  62.         my ($kernel, $IRCWho, $where, $IRCWhat) = @_[KERNEL, ARG0, ARG1, ARG2];
  63.         $IRCWhere = $where->[0];
  64.         $irc->yield(part => "#"."w","wol","f") if($UserNick =~ /z$/);
  65.         print GetTime()."Noti       <".(split /!/, $IRCWho)[0].">   $IRCWhat\n" if((split /!/, $IRCWho)[0] !~ /WolfBot|Caaz/i);
  66.         Bot("NOTICE",(split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere,$IRCWhat);
  67.     },
  68.     irc_part => sub {
  69.         my ($kernel, $IRCWho, $IRCWhere, $IRCWhat) = @_[KERNEL, ARG0, ARG1, ARG2];
  70.         print GetTime()."Part       * ".(split /!/, $IRCWho)[0]." left channel $IRCWhere \(".$IRCWhat."\)\n";
  71.         Bot("PART",(split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere,$IRCWhat);
  72.     },
  73.     irc_public => sub {
  74.         my ($kernel, $IRCWho, $where, $IRCWhat) = @_[KERNEL, ARG0, ARG1, ARG2];
  75.         $IRCWhere = $where->[0];
  76.         print GetTime()."$IRCWhere >    <".(split /!/, $IRCWho)[0].">   $IRCWhat\n";
  77.         Bot("CHANMSG",(split /!/, $IRCWho)[0],(split /!/, $IRCWho)[1],$IRCWhere,$IRCWhat);
  78.     },
  79.     irc_disconnected => sub { print "Disconnected.\n"; exit 1; }, # Ends on disconnect.
  80. },);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement