Mojo::Webqq 使用简介

前言

之前有介绍过《Mojo-Webqq安装实例》,但这只是Mojo::Webqq的其中一个openqq的功能,Mojo::Webqq还有很多功能有待介绍,下面先来说说几个我正在用的,也是比较常用的功能,以及这些功能的实现方式。

Mojo::Webqq的安装和登录以及openqq的使用方法就不说了,《Mojo-Webqq安装实例》上都有说明。

使用邮件发送二维码

# 发送二维码到邮箱
$client->load("PostQRcode",data=>{
smtp    =>  'smtp.1111.com', # 邮箱的smtp地址
port    =>  '25', # smtp服务器端口,默认25
from    =>  '1111@1111.com', # 发件人
to      =>  '1111@1111.com', # 收件人
user    =>  '1111@1111.com', # smtp登录帐号
pass    =>  '11111111', # smtp登录密码
});

需要注意的是,此方法需要放在login操作前。

使用邮件发送验证码

# 发送验证码到邮箱
$client->load("PostImgVerifycode",data=>{
smtp    =>  'smtp.1111.com', # 邮箱的smtp地址
port    =>  '25', # smtp服务器端口,默认25
from    =>  '1111@1111.com', # 发件人
to      =>  '1111@1111.com', # 收件人
user    =>  '1111@1111.com', # smtp登录帐号
pass    =>  '11111111', # smtp登录密码
post_host => '111.111.111.111' , # 本机公网IP地址,需要远程访问
post_port => '1987'            , # 提交验证码的链接地址中使用的端口,默认1987
});

此方法也是需要放在login操作前。

进/退群提醒

# 进退群提醒
my $new_group_member_cout = 0;
Mojo::IOLoop->recurring(900,sub{
    $new_group_member_cout=0;
});

$client->on(
    new_group_member=>sub{
        if($new_group_member_cout>10){
            $client->fatal("new_group_member事件触发次数超过限制");
            return;
        }
        my $memer = $_[1];
        my $displayname = $memer->displayname;
        my $content = $displayname ne "昵称未知"?"欢迎新成员 \@$displayname 加入组织[鼓掌][鼓掌]":"欢迎新成员入群[鼓掌][鼓掌]";
        my $group = $client->search_group(gid=>$memer->gid);
        $group->send($content) if defined $group;
        $new_group_member_cout++;
    },
    lose_group_member=>sub{
        my $memer = $_[1];
        my $displayname = $memer->displayname ;
        return if $displayname eq "昵称未知";
        my $content = "很遗憾 \@$displayname 离开了本群[流泪][流泪]";
        my $group = $client->search_group(gid=>$memer->gid);
        $group->send($content) if defined $group;
    },
);
# 使用默认值加载
$client->load("GroupManage");

主要用于表示对群内新用户加入时的欢迎,以及对用户退群表示遗憾。

智能回复

# smartQQ
$client->load("SmartReply");

调用的是图灵机器人的接口,使用方式是私聊机器人,或在群里@机器人进行聊天,具体功能请参考图灵机器人的使用方法:tuling123

鄙视大神

# 对大神进行鄙视
$client->load("FuckDaShen");

自动识别群内「大神」关键字,并利用预设的库进行调侃。

自定义回复

# 创建知识库
$client->load("KnowledgeBase");

创建知识库对指定关键字进行回复,目前仅限于完全匹配。使用方法:

# 示例:
# learn 今天天气怎么样 天气很好 #添加知识库
# 学习 "你吃了吗" 当然吃了 #添加知识库
# learn '哈哈 你真笨' "就你聪明" #添加知识库
# del 今天天气怎么样 #删除知识库
# 删除 '哈哈 你真笨' #删除知识库

翻译

# 翻译
$client->load("Translation");
# 示例:翻译 hello

使用百度翻译的接口对关键词进行翻译。

手机归属地查询

# 手机归属地查询
$client->load("MobileInfo");
# 示例:手机 1888888888

使用ip138网接口对手机号归属地进行查询。

股票查询

# 股票查询
$client->load("StockInfo");
# 示例:股票 000001

使用gtimg网接口对股票编码进行查询。

查询perl文档

# 显示perl文档
$client->load("Perlcode");
# 示例:perldoc -f|-v xxx

使用Pod::Perldoc插件实现perl文档的查询。

执行perl命令

# 执行perl命令
# $client->load("Perldoc");
# 示例:>>> print "hello world";

执行本机perl命令,需要「>>>」进行标识。

代码测试

# 代码测试
$client->load("ProgramCode");
# 示例:code|bash>>>
#         echo "very good!"

使用glot.io网站接口进行代码测试,需要「code|c>>>」进行标识,支持27种语言的测试,具体功能见:glot.io

好了,就先介绍这么多,这些都是通过外部环境,来实现QQ上所没有的功能,比较实用也比较有趣。但Mojo::Webqq的功能绝不仅限于此,很多群权限控制及操作由于平时接触不多,而且我也没在用,所以就不详细解释了。

附:

Mojo::Webqq官方使用帮助文档 我所使用的Mojo::Webqq脚本

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息