t a1.pl
use Mojo::Webqq;
use Mojo::Webqq::Friend;
use Mojo::Util qw(md5_sum);
use Encode;
use Mojo::Webqq::Message::Recv::Message;
#初始化一个客户端对象
my $client=Mojo::Webqq->new(ua_debug=>0);
my $qq = 267020090;
my $pwd = "xxxxxxxxxxxx";
my $pwd_md5 = md5_sum($pwd);#得到原始密码的32位长度md5
#客户端进行登录
$client->login(qq=>$qq,pwd=>$pwd_md5);
#客户端加载ShowMsg插件,用于打印发送和接收的消息到终端
$client->load("ShowMsg");
#设置接收消息事件的回调函数,在回调函数中对消息以相同内容进行回复
$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;
print "#################
";
if ( ($friend =~/悠悠球/i) or ($var =~/道森/i) or ($friend =~/zjcap/i) or ($var =~/oracle/i) ) {
print "come in
";
chomp($content);
print "$content is $content
";
if (($content =~/sb/i) or ($content =~/2b/i) or ($content =~/大/i) or ($content =~/scan/i) or ($content =~/赵/i) or ($friend =~/落/i) or ($content =~/1/i)) {
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")}}
else{
eval{$client->reply_message($msg,$msg->content)}};
#你也可以使用$msg->dump() 来打印消息结构
}
}
}
);
#客户端开始运行
$client-> run();