zoukankan      html  css  js  c++  java
  • perl 机器人

    use Mojo::Webqq;
    use Mojo::Webqq::Friend;
    use Mojo::Util qw(md5_sum);
    use Encode;
    use Mojo::Webqq::Message::Recv::Message;
    use Mojo::Webqq::Plugin::SmartReply;
    use Sys::Hostname;
    use HTTP::Date qw(time2iso str2time time2iso time2isoz);
    use Net::SMTP;
    my cputrigger=3;mydisk_trigger=70;
    my memorytrigger=40;myio_trigger=80;
    my cpuevent;mymemory_event;
    my red=e[1;31m;mygreen=”e[1;32m”;
    my yellow=e[1;33m;mynormal=”e[0m”;

    sub section() {
    my section=shift;print>>>>>green sectionnormal ”;};
    sub vmstat() {
    &section(“VMSTAT”);
    undef @arr_cpu ;
    open (FH,”vmstat 2 5|”);
    while() {
    chomp;
    next if /Linux/;
    @array=split /s+/,_;  
        #匹配开头和结尾  
                   print “$array[-3] is
    array[-3] ”;
    next if (array[3]= //);var=array[3];push@arrcpu,var;
    }
    };

    初始化一个客户端对象

    my $client=Mojo::Webqq->new(ua_debug=>0);

    my qq=267020090;mypwd = “xxx”;

    my pwdmd5=md5sum(pwd);#得到原始密码的32位长度md5

    #客户端进行登录
    client>login(qq=>qq,pwd=>$pwd_md5);

    #客户端加载ShowMsg插件,用于打印发送和接收的消息到终端
    $client->load("ShowMsg");
    $client->load("StockInfo");
    
     #设置接收消息事件的回调函数,在回调函数中对消息以相同内容进行回复
     $client->on(receive_message=>sub{
         my ($client,$msg)=@_;
             #已以相同内容回复接收到的消息
             #$var group name
                  print "-----------------";
                  eval{$friend=$msg->sender->nick;};
                  eval{$var=$msg->group->gname};
                  $var = encode("gbk",decode("utf8","$var")); 
    
                  $frined=$msg->sender->nick;
    
                  $friend=encode("gbk",decode("utf8","$friend"));
                  $content=$msg->content;
                 #$content 消息内容
                 $content=encode("gbk",decode("utf8","$content"));
                  print $content ;
                  print $friend;
                    $client->load("SmartReply");
            if ( ($friend =~/悠悠球/i) or  ($friend =~/美创-应以峰/i)   or ($var =~/Oracle/i) or ($friend =~/zjcap/i) or  ($friend =~/scan/i) or   ($var =~/oracle小筑/i) or   ($var =~/PERL学习交流/i) )
                 {
                    print "come in
    ";
                    chomp($content);
                    print "$content is $content
    ";
                 if (($content =~/sb/i) or  ($content =~/2b/i)  or  ($content !~/cat/i)  or   ($friend =~/scan/i) or  ($friend =~/Flyinthesky/i and $var =~/oracle小筑/)  or ($content =~/get .*?/)  
                     or  ($friend =~/zjcap/i and $var =~/PERL学习交流/))  {
    
                           if ($content =~/sb/){eval{$client->reply_message($msg,"you are really sb")}}
                           elsif ($content =~/2b/){eval{$client->reply_message($msg,"you are really 2b")}}
                           elsif ($content =~/赵/){eval{$client->reply_message($msg,"xiao li ya")}}
                           elsif ($content =~/爸/){eval{$client->reply_message($msg,"your die is I")}}
                           elsif ($content =~/爹/){eval{$client->reply_message($msg,"your father is I")}}
                           elsif ($content eq "get cpu"){&vmstat(); foreach (@arr_cpu){$client->reply_message($msg,"$_")} }
                           elsif (($content !~/cpu/) and ($content =~/get/) and  ($content !~/init/) and  ($content !~/shutdown/) and  ($content !~/halt/) and   ($content !~/rm/))
                                   {$command=(split/s+/, "$content")[1];  $hostname=`$command`; $client->reply_message($msg,"$hostname") }
                            else{
                 eval{$client->reply_message($msg,$msg->content)}}   ;
    
                                                                       }
                     #你也可以使用$msg->dump() 来打印消息结构
              }
    

    }
    );

                      #客户端开始运行
                      $client-> run();
    
  • 相关阅读:
    sikuli 安装
    pychar入门参考教材
    Jmeter 问题集
    appium 中文API 集
    执行Chrome自动化时--正在受到自动软件的控制的显示屏蔽
    下拉框选择
    发邮件 文字+ 附件的方法(QQ or 网易 邮箱)
    发送邮件(单独文字)的方法(网易邮箱 OR QQ邮箱)
    aapium 设置安卓机参数
    -循环点击遇到的坑(每次点击后返回,页面元素都会变化的解决方法)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351386.html
Copyright © 2011-2022 走看看