论坛风格切换切换到宽版
发帖 回复
返回列表  提醒:不能用迅雷等P2P下载,否则下载失败标(二级)的板块,需二级才能下载,没二级不要购买,下载不了
  • 1690阅读
  • 1回复

[技术文章]Mojo::Webqq使用简介 [复制链接]

上一主题 下一主题
离线uoou
 

性别:
帅哥
发帖
13
金币
1
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看楼主 倒序阅读 使用道具 0楼 发表于: 2015-12-08
之前有介绍过《使用Mojo-Webqq实现nagiosQQ群告警》,但这只是Mojo::Webqq的其中一个openqq的功能,Mojo::Webqq还有很多功能有待介绍,下面先来说说几个我正在用的,也是比较常用的功能,以及这些功能的实现方式。 ]+}ZfHp  
m%e^&N#%6r  
Mojo::Webqq的安装和登录以及openqq的使用方法就不说了,《使用Mojo-Webqq实现nagiosQQ群告警》上都有说明。 RL7C YB  
1.使用邮件发送二维码 ULp)T`P  
  1. #发送二维码到邮箱
  2. $client->load("PostQRcode",data=>{
  3. smtp    =>  'smtp.1111.com', #邮箱的smtp地址
  4. port    =>  '25', #smtp服务器端口,默认25
  5. from    =>  '1111@1111.com', #发件人
  6. to      =>  '1111@1111.com', #收件人
  7. user    =>  '1111@1111.com', #smtp登录帐号
  8. pass    =>  '11111111', #smtp登录密码
  9. });
ffmG~$Yh_  
需要注意的是,此方法需要放在login操作前。
f p v= P  
2.使用邮件发送验证码 GN:Ru|n  
  1. #发送验证码到邮箱
  2. $client->load("PostImgVerifycode",data=>{
  3. smtp    =>  'smtp.1111.com', #邮箱的smtp地址
  4. port    =>  '25', #smtp服务器端口,默认25
  5. from    =>  '1111@1111.com', #发件人
  6. to      =>  '1111@1111.com', #收件人
  7. user    =>  '1111@1111.com', #smtp登录帐号
  8. pass    =>  '11111111', #smtp登录密码
  9. post_host => '111.111.111.111' , #本机公网IP地址,需要远程访问
  10. post_port => '1987'            , #提交验证码的链接地址中使用的端口,默认1987
  11. });
ewb*?In  
此方法也是需要放在login操作前。
e={k.y }x}  
3.进/退群提醒 L Yh@ u1p  
  1. #进退群提醒
  2. my $new_group_member_cout = 0;
  3. Mojo::IOLoop->recurring(900,sub{
  4.     $new_group_member_cout=0;
  5. });
  6. $client->on(
  7.     new_group_member=>sub{
  8.         if($new_group_member_cout>10){
  9.             $client->fatal("new_group_member事件触发次数超过限制");
  10.             return;
  11.         }
  12.         my $memer = $_[1];
  13.         my $displayname = $memer->displayname;
  14.         my $content = $displayname ne "昵称未知"?"欢迎新成员 \@$displayname 加入组织[鼓掌][鼓掌]":"欢迎新成员入群[鼓掌][鼓掌]";
  15.         my $group = $client->search_group(gid=>$memer->gid);
  16.         $group->send($content) if defined $group;
  17.         $new_group_member_cout++;
  18.     },
  19.     lose_group_member=>sub{
  20.         my $memer = $_[1];
  21.         my $displayname = $memer->displayname ;
  22.         return if $displayname eq "昵称未知";
  23.         my $content = "很遗憾 \@$displayname 离开了本群[流泪][流泪]";
  24.         my $group = $client->search_group(gid=>$memer->gid);
  25.         $group->send($content) if defined $group;
  26.     },
  27. );
主要用于表示对群内新用户加入时的欢迎,以及对用户退群表示遗憾。
o|z+!,  
4.智能回复 }Kv h`@CiJ  
  1. #smartQQ
  2. $client->load("SmartReply");
+G*"jI8W  
调用的是图灵机器人的接口,使用方式是私聊机器人,或在群里@机器人进行聊天,具体功能请参考图灵机器人的使用方法:tuling123
tyc8{t#Z  
5.鄙视大神 jGO9n  
#对大神进行鄙视$client->load("FuckDaShen");自动识别群内“大神”关键字,并利用预设的库进行调侃。 O{lIs_1.Z  
6.自定义回复 =8$|_  
  1. #创建知识库
  2. $client->load("KnowledgeBase");
创建知识库对指定关键字进行回复,目前仅限于完全匹配。使用方法:
:[y]p7;{f  
  1. #示例:
  2. #learn 今天天气怎么样 天气很好 #添加知识库
  3. #学习 "你吃了吗" 当然吃了 #添加知识库
  4. #learn '哈哈 你真笨' "就你聪明" #添加知识库
  5. #del 今天天气怎么样 #删除知识库
  6. #删除 '哈哈 你真笨' #删除知识库
33=Mm/<m$P  
7.查询perl文档
~mN g[]  
  1. #显示perl文档
  2. $client->load("Perlcode");
  3. #示例:perldoc -f|-v xxx
使用Pod::Perldoc插件实现perl文档的查询。
bWGyLo,  
8.执行perl命令 _v1bTg"?  
  1. #执行perl命令
  2. #$client->load("Perldoc");
  3. #示例:>>> print "hello world";
执行本机perl命令,需要“>>>”进行标识。
.o-0aBG  
9.代码测试 X4d Xm>*?=  
  1. #代码测试
  2. $client->load("ProgramCode");
  3. #示例:code|c>>>
  4. #        #include
  5. #        int main() {
  6. #            printf("Hello World!\n");
  7. #            return 0;
  8. #        }
R'S c  
:~\LOKf  
使用glot.io网站接口进行代码测试,需要“code|c>>>”进行标识,支持27种语言的测试,具体功能见:glot.io kR<xtHW  
好了,就先介绍这么多,这些都是通过外部环境,来实现QQ上所没有的功能,比较实用也比较有趣。但Mojo::Webqq的功能绝不仅限于此,很多群权限控制及操作由于平时接触不多,而且我也没在用,所以就不详细解释了。 0L!er%GM  
Qy4X#wgD  
?wGiog<Q{  
J)-T:.i|0  
pwa.q  


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

一般

差劲

性别:
人妖
发帖
593
金币
476
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 1楼 发表于: 2017-06-04
学习了


快速回复
限150 字节
 
上一个 下一个