Mojo-Webqq

 view release on metacpan or  search on metacpan

doc/Webqq.pod  view on Meta::CPAN

    name            #昵称    
    type            #固定值"user"

    phone           #电话
    birthday        #生日
    occupation      #职业
    college         #大学
    blood           #血型
    constel         #星座
    homepage        #主页
    state           #在线状态 online|away|busy|callme|silent|hidden
    country         #国家
    city            #城市
    displayname     #当前和昵称完全一样
    shengxiao       #生效
    email           #邮箱
    client_type     #固定值"web"
    province        #省份
    sex             #性别
    mobile          #手机
    signature       #个性签名

doc/Webqq.pod  view on Meta::CPAN

    id              #好友的id,仅在本次登录期间唯一,多次登录可能会发生变化,记住 id不是qq号
    uid             #好友的qq号码
    type            #固定值"friend"
    category        #好友所属的分组
    name            #好友昵称
    markname        #好友备注名称
    displayname     #如果设置了markname 就返回markname 否则返回nick

    is_vip          #是否是vip会员
    vip_level       #vip等级
    state           #好友状况 online|away|busy|silent|offline
    client_type     #好友客户端类型 pc|mobile|iphone|unknown

    方法:
    send            #给好友对象发送消息
    is_friend       #判断对象是否是好友
    dump

    代码示例:

    my $friend = $client->search_friend(name=>xxx);

doc/Webqq.pod  view on Meta::CPAN

    $client->log_path   #日志记录路径,默认undef,打印到STDOUT
    $client->version    #客户端版本
    $client->account    #登录帐号,不必是真实的qq号码,可以自由定义,根据扫码确定实际登陆qq

=head1 客户端方法

=head2 new()

    account           #登录帐号,默认default,不必是真实qq号码,可自由定义,根据扫码确定实际登陆qq
    security          #设置该参数,将使得发送和接收消息使用https加密
    mode              #设置登录状态,默认是online,支持online|away|busy|silent|hidden|offline|callme
    http_debug        #设置该参数,打印调试信息
    keep_cookie       #默认为1,0表示不保存登录cookie,1表示保存登录cookie方便下次直接恢复登录
    disable_color     #默认为0,是否禁用终端彩色打印
    send_interval     #默认为3s,全局发送消息时间间隔,间隔太小会导致消息发送频繁,可能有被封号的风险
    ignore_send_retcode #对发送消息返回这些状态码不认为发送失败不重试,参数是一个数组引用
                        #设置示例 Mojo::Webqq->new(ignore_send_retcode=>[1202,100100]);
                        #默认值 [1202,100100] 不清楚作用请不要随意设置

    ignore_poll_retcode #对接收消息返回这些状态码不认为接收失败,不重新登录,避免频繁掉线
                        #设置示例 Mojo::Webqq->new(ignore_poll_retcode=>[102,109,110,1202,100012]);

lib/Mojo/Webqq.pm  view on Meta::CPAN

use Mojo::Webqq::Cache;
use Time::HiRes qw(gettimeofday);
use File::Spec ();
use base qw(Mojo::Webqq::Model Mojo::Webqq::Client Mojo::Webqq::Plugin Mojo::Webqq::Request Mojo::Webqq::Util Mojo::Webqq::Model::Ext);

has domain              => 'w.qq.com';
has account             => sub{ $ENV{MOJO_WEBQQ_ACCOUNT} || 'default'};
has start_time          => time;
has pwd                 => undef;
has security            => 0;
has mode                => 'online';   #online|away|busy|silent|hidden|offline|callme,
has type                => 'smartqq';  #smartqq
has login_type          => 'qrlogin';    #qrlogin|login
has http_debug          => sub{$ENV{MOJO_WEBQQ_HTTP_DEBUG} || 0 };
has ua_debug            => sub{$_[0]->http_debug};
has ua_debug_req_body   => sub{$_[0]->ua_debug};
has ua_debug_res_body   => sub{$_[0]->ua_debug};
has ua_connect_timeout      => 10;
has ua_request_timeout      => 120;
has ua_inactivity_timeout   => 120;
has model_update_timeout    => 15;#sub{$_[0]->ua_request_timeout};

lib/Mojo/Webqq.pod  view on Meta::CPAN

    name            #昵称    
    type            #固定值"user"

    phone           #电话
    birthday        #生日
    occupation      #职业
    college         #大学
    blood           #血型
    constel         #星座
    homepage        #主页
    state           #在线状态 online|away|busy|callme|silent|hidden
    country         #国家
    city            #城市
    displayname     #当前和昵称完全一样
    shengxiao       #生效
    email           #邮箱
    client_type     #固定值"web"
    province        #省份
    sex             #性别
    mobile          #手机
    signature       #个性签名

lib/Mojo/Webqq.pod  view on Meta::CPAN

    id              #好友的id,仅在本次登录期间唯一,多次登录可能会发生变化,记住 id不是qq号
    uid             #好友的qq号码
    type            #固定值"friend"
    category        #好友所属的分组
    name            #好友昵称
    markname        #好友备注名称
    displayname     #如果设置了markname 就返回markname 否则返回nick

    is_vip          #是否是vip会员
    vip_level       #vip等级
    state           #好友状况 online|away|busy|silent|offline
    client_type     #好友客户端类型 pc|mobile|iphone|unknown

    方法:
    send            #给好友对象发送消息
    is_friend       #判断对象是否是好友
    dump

    代码示例:

    my $friend = $client->search_friend(name=>xxx);

lib/Mojo/Webqq.pod  view on Meta::CPAN

    $client->log_path   #日志记录路径,默认undef,打印到STDOUT
    $client->version    #客户端版本
    $client->account    #登录帐号,不必是真实的qq号码,可以自由定义,根据扫码确定实际登陆qq

=head1 客户端方法

=head2 new()

    account           #登录帐号,默认default,不必是真实qq号码,可自由定义,根据扫码确定实际登陆qq
    security          #设置该参数,将使得发送和接收消息使用https加密
    mode              #设置登录状态,默认是online,支持online|away|busy|silent|hidden|offline|callme
    http_debug        #设置该参数,打印调试信息
    keep_cookie       #默认为1,0表示不保存登录cookie,1表示保存登录cookie方便下次直接恢复登录
    disable_color     #默认为0,是否禁用终端彩色打印
    send_interval     #默认为3s,全局发送消息时间间隔,间隔太小会导致消息发送频繁,可能有被封号的风险
    ignore_send_retcode #对发送消息返回这些状态码不认为发送失败不重试,参数是一个数组引用
                        #设置示例 Mojo::Webqq->new(ignore_send_retcode=>[1202,100100]);
                        #默认值 [1202,100100] 不清楚作用请不要随意设置

    ignore_poll_retcode #对接收消息返回这些状态码不认为接收失败,不重新登录,避免频繁掉线
                        #设置示例 Mojo::Webqq->new(ignore_poll_retcode=>[102,109,110,1202,100012]);

lib/Mojo/Webqq/Util.pm  view on Meta::CPAN

    }
    return $out_and_err. ($is_truncated?"\n(已截断)":"");
}
sub code2state {
    my $self = shift;
    my %c = qw(
        10  online
        20  offline
        30  away
        40  hidden
        50  busy
        60  callme
        70  silent
    );
    return $c{$_[0]} || "online";
}
sub code2client {
    my $self = shift;
    my %c = qw(
        1   pc
        21  mobile



( run in 0.434 second using v1.01-cache-2.11-cpan-87723dcf8b7 )