rs = {
Referer=>'https://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1',
json=>1,
ua_request_timeout=> $self->model_update_timeout,
ua_retry_times => 3,
};
my $handle = sub{
my $json = shift;
return undef unless defined $json;
return undef if $json->{retcode} !=0;
my $friend_info = $json->{result};
$friend_info-
ers,) );
}
else{
$self->http_get($self->gen_url($api_url,@query_string),$headers,sub{
my $json = shift;
$callback->( $handle->($json) );
});
}
}
1;
nfo/set_group_shutup";
my $json = $self->http_post($api,{Referer=>"http://qinfo.clt.qq.com/qinfo_v3/member.html",json=>1},form=>{gc=>$uid,shutup_list=>$self->to_json([map {{uin=>$_,t=>$t}} @qq]),b
kn=>$self->get_csrf_token});
return if not defined $json;
return if $json->{ec}!=0;
return 1;
}
1;
g,
);
return;
}
my $callback = sub{
my $json = shift;
$msg->parse_send_status_msg( $json );
if(!$msg->is_success and $msg->ttl > 0){
$self->
= {
Referer => 'http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2',
json => 1,
};
my @content = map {
if($_->{type} eq "txt"){$_->{content}}
e
s_sig ,
face => $self->user->face || 591,
content => $self->to_json($content),
msg_id => $msg->id,
service_type => $msg->via eq "group"?0
= {
Referer => 'http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2',
json => 1,
};
my %r = (
vfwebqq => $self->vfwebqq,
clientid
allback eq "CODE"?0:1;
my $handle = sub{
my $json = shift;
return undef unless defined $json;
return undef if $json->{retcode}!=0 ;
my %type = (0 => 'friend',1 => '
group', 2 => 'discuss');
my @recent;
for(@{$json->{result}}){
next unless exists $type{$_->{type}};
$_->{type} = $type{$_->{type}};
if($_->{type} eq
',json=>1};
my $json = $self->http_get($self->gen_url($api_url,@query_string),$headers);
return undef unless defined $json;
return undef if $json->{retcode}!=0;
return undef if $json->
{result}{value} eq "";
$self->sess_sig_cache->store("$id|$to_uin|$service_type",$json->{result}{value},300);
return $json->{result}{value} ;
}
1;
.qq.com/channel/send_discu_msg2';
my $callback = sub{
my $json = shift;
$msg->parse_send_status_msg( $json );
if(!$msg->is_success and $msg->code != -3 and $msg->ttl >
= {
Referer => 'http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2',
json => 1,
};
my @content = map {
if($_->{type} eq "txt"){$_->{content}}
sg->discuss_id,
face => $self->user->face || 591,
content => $self->to_json($content),
msg_id => $msg->id,
clientid => $self->clientid,
psess
my $json = $self->http_post($api,{Referer=>"http://qun.qq.com/member.html",json=>1},form=>{gc=>$uid,ul=>join("|",@qq),flag=>0,bkn=>$self->get_csrf_token});
return if not defined $json;
re
turn if $json->{ec}!=0;
return 1;
}
1;
=head2 C<to_name ()>
=head2 C<to_project ()>
=head2 C<to_repository ()>
=head2 C<TO_JSON ()>
Used by L<JSON::XS> for dumping the object
=head1 ATTRIBUTES
=head2 state
=head2 id
=head2 toRef
ION
=head1 SUBROUTINES/METHODS
=head2 C<name ()>
=head2 C<timestamp ()>
=head2 C<TO_JSON ()>
Used by L<JSON::XS> for dumping the object
=head1 ATTRIBUTES
=head2 displayId
=head2 id
=head2 isD
ision$, $Source$, $Date$
use Moo;
use warnings;
use Carp;
use WWW::Mechanize;
use JSON::XS qw/decode_json encode_json/;
use Data::Dumper qw/Dumper/;
use English qw/ -no_match_vars /;
use App::BitBuck
xt_page_start = 0;
my $limit = 30;
while ( ! $last_page ) {
my $json;
eval {
$json = $self->_get($self->url . "/projects?limit=$limit&start=$next_page_start");
return [];
};
push @projects, @{ $json->{values} };
$last_page = $json->{isLastPage};
$next_page_start = $json->{nextPageStart};
}
return map {App::BitBuck
d_message{
my($self,$msg) = @_;
my $callback = sub{
my $json = shift;
$msg->parse_send_status_msg( $json );
if(!$msg->is_success and $msg->ttl > 0){
$self->
= {
Referer => 'http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2',
json => 1,
};
my @content = map {
if($_->{type} eq "txt"){$_->{content}}
=> $msg->receiver_id,
face => $self->user->face || 570,
content => $self->to_json($content),
msg_id => $msg->id,
clientid => $self->clientid,
psessionid
App::BitBucketCli::Link->new($link);
}
}
return $class->$orig($arg);
};
sub TO_JSON {
my ($self) = @_;
return { %{ $self } };
}
1;
__END__
=head1 NAME
App::BitBucketCli:
.
=head1 DESCRIPTION
=head1 SUBROUTINES/METHODS
=head2 C<BUILDARGS ()>
=head2 C<TO_JSON ()>
Used by L<JSON::XS> for dumping the object
=head1 ATTRIBUTES
=head2 description
=head2 clone
=head
callback=1&id=1',json=>1};
my @query_string = (
tuin => $uin,
vfwebqq => $self->vfwebqq,
t => time,
);
my $json = $self->http_g
return undef unless defined $json;
return undef if $json->{retcode} !=0;
#{"retcode":0,"result":[{"uin":308165330,"lnick":""}]}
my $single_long_nick = $json->{result}[0]{lnick};
retu
/;
our $VERSION = 0.009;
has [qw/
rel
url
href
/] => (
is => 'rw',
);
sub TO_JSON {
my ($self) = @_;
return { %{ $self } };
}
1;
__END__
=head1 NAME
App::BitBucketCli:
nd exemplary as possible.
=head1 DESCRIPTION
=head1 SUBROUTINES/METHODS
=head2 C<TO_JSON ()>
Used by L<JSON::XS> for dumping the object
=head1 ATTRIBUTES
=head2 description
=head2 rel
=head2
Referer => 'https://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1',
json => 1,
ua_request_timeout => $self->model_update_timeout,
ua_retry_times =
1;
my $handle = sub{
my $json = shift;
return undef unless defined $json;
return undef if $json->{retcode} !=0;
my $user = $json->{result};
$user->{state} =
r->{gender};
#my $single_long_nick = $self->get_single_long_nick( $self->uid );
#$json->{result}{signature} = $single_long_nick if defined $single_long_nick;
$user->{uid}
json => 1,
};
my $is_blocking = ref $callback eq "CODE"?0:1;
my $handle = sub {
my $json = shift;
return unless defined $json;
return undef if $json->{ret
":"test","did":612950676}]}}
for(@{ $json->{result}{dnamelist} }){
$_->{id} = delete $_->{did};
}
return $json->{result}{dnamelist};
};
if($is_blo
rs,) );
}
else{
$self->http_get($self->gen_url($api_url,@query_string),$headers,sub{
my $json = shift;
$callback->( $handle->($json) );
});
}
}
1;
t;
my $json = shift;
return if $self->is_stop;
return unless defined $json;
if ( $json->{retcode} == 0 ) {
$self->poll_failure_count(0);
for my $m ( @{ $json->{result}
#更新客户端ptwebqq值
elsif ( $json->{retcode} == 116 ) {
$self->debug("更新ptwebqq的值[ $json->{p} ]");
$self->ptwebqq($json->{p});
$self->ua->cookie_jar->ad
:Response->new(name=>"ptwebqq",value=>$json->{p},path=>"/",domain=>"qq.com",),
);
}
#未重新登录
elsif ( $json->{retcode} == 100 or $json->{retcode} == 103) {
$self->w
et_csrf_token};
my $json = $self->http_post($api,{Referer=>"http://qinfo.clt.qq.com/member.html",json=>1},form=>$form);
return if not defined $json;
return if $json->{ec}!=0;
return 1;
rn;
}
my $api = 'http://qiandao.qun.qq.com/cgi-bin/sign';
my $json = $self->http_post(
$api,
{json=>1,Referer=>"http://qiandao.qun.qq.com/index.html?groupUin=$uid&appID=100
ned $json;
#{"conti_count":1,"ec":0,"is_new":0,"is_sign":1,"now":1464858442,"rank":2,"sign_time":1464858442,"today_count":2,"total_count":1}
return if $json->{ec} != 0;
return if $json->{i
.clt.qq.com/cgi-bin/qun_info/set_group_admin";
my $json = $self->http_post(
$api,{Referer=>"http://qinfo.clt.qq.com/member.html",json=>1},
form=>{src=>"qinfo_v2",gc=>$uid,u=>join("
|",$qq[0]),op=>1,bkn=>$self->get_csrf_token}
);
return if not defined $json;
return if $json->{ec}!=0;
return 1;
}
1;