Mojo-Webqq
view release on metacpan or search on metacpan
lib/Mojo/Webqq.pm view on Meta::CPAN
package Mojo::Webqq;
use strict;
use Carp ();
$Mojo::Webqq::VERSION = "2.2.7";
use Mojo::Webqq::Base 'Mojo::EventEmitter';
use Mojo::Webqq::Log;
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};
has log_level => 'info'; #debug|info|msg|warn|error|fatal
has log_path => undef;
has log_encoding => undef; #utf8|gbk|...
has log_head => undef;
has log_unicode => 0;
has log_console => 1;
has send_interval => 3; #å
¨å±åéæ¶æ¯é´éæ¶é´
has check_account => 0; #æ¯å¦æ£æ¥é¢è®¾è´¦å·ä¸å®é
ç»å½è´¦å·æ¯å¦å¹é
has disable_color => ($^O eq 'MSWin32' ? 1 : 0); #æ¯å¦ç¦ç¨ç»ç«¯æå°é¢è²
has ignore_send_retcode => sub{[1202,100100]}; #对åéæ¶æ¯è¿åè¿äºç¶æç ä¸è®¤ä¸ºåé失败ï¼ä¸éè¯
has ignore_poll_retcode => sub{[102,109,110,1202,100012]}; #å¯¹æ¥æ¶æ¶æ¯è¿åè¿äºç¶æç ä¸è®¤ä¸ºæ¥æ¶å¤±è´¥ï¼ä¸éæ°ç»å½
has ignore_poll_http_code => sub{[504,502]}; #å¿½ç¥æ¥æ¶æ¶æ¯è¯·æ±è¿åç502/504ç¶æç ï¼å 为并ä¸å½±åæ¶æ¯æ¥æ¶ï¼ä»¥å
å¼èµ·ææ
has ignore_unknown_id => 1; #å
¶ä»è®¾å¤ä¸èªå·±åéçæ¶æ¯ï¼å¨webqqä¸ä¼ä»¥æ¥åæ¶æ¯çå½¢å¼åæ¬¡æ¥æ¶å°ï¼idè¿æªç¥,æ¯å¦å¿½ç¥æè¿ç§æ¶æ¯
has allow_message_sync => 0; #æ¯å¦å
è®¸åæ¥æ¥èªå
¶ä»è®¾å¤ç»å½è´¦å·åéçæ¶æ¯ï¼ç±äºwebqqèªèº«åéæ¶æ¯åä¹ä¼æ¶å°æå¡ç«¯éå¤çæ¶æ¯ï¼ä¸æ²¡åæ³åæ¥èªå
¶ä»è®¾å¤çæ¶æ¯åºåï¼ä¼å¯¼è´åºç°ä¸äºä¸ææç...
has json_codec_mode => 0; #0表示使ç¨from_json/to_json 1表示使ç¨decode_json/encode_json
has default_send_real_comp_sign => 0; #设为çå¼åä¸å¯¹åéåºç<>è¿è¡è½¬åã
# ç¶èè¿æ ·ä¾¿åªè½éåº<>ã
has group_member_card_cut_length => 21; #群åçæªåé¿åº¦
has group_member_card_ext_only => 0; #群åçä¿¡æ¯æ¯å¦åªä»æ©å±æ¥å£ä¸è·åï¼è¿æ ·è½å¤è·åå°å®æ´ç群åçï¼ä½å¹¶ä¸æ¯100%å¯é
has group_member_use_fullcard => 0; #使ç¨å®æ´ç群åçã
has group_member_use_friend_markname => 1; #使ç¨å¤æ³¨å(妿åå¨)ã
#åå§ä¿¡æ¯ä¸å
å«id/name/card
#æ©å±ä¿¡æ¯ä¸å
å«uid/name/card
#äºè
æ²¡åæ³ç´æ¥å»ºç«å
³èï¼åªè½å¤éè¿ name+card ç¸åæ¶è®¤ä¸ºæ¯å¹é
åä¸ä¸ªç¨æ·ï¼å¹¶é严谨ï¼ä½å¤§é¨åæ
åµä¸å¯ä»¥æ»¡è¶³è¦æ±
#group_member_identify_callbackæä¾äºå¯¹nameåcardè¿è¡èªå®ä¹å¤ç
#ä¼ éç»group_member_identify_callbackçåæ°æ¯ç¾¤æåç ($name,$card)
#é»è®¤ group_member_identify_callback ä¸è®¾ç½®ï¼ç¸å½äºsub { my($name,$card)=@_; return $name . $card};
has group_member_identify_callback => undef;
has notice_api => 'https://raw.githubusercontent.com/sjdy521/Mojo-Webqq/master/NOTICE';
has is_fetch_notice => 1; #æ¯å¦å¯å¨æ¶è·åå
Œ
has is_init_friend => 1; #æ¯å¦å¨é¦æ¬¡ç»å½æ¶åå§å好åä¿¡æ¯
has is_init_group => 1; #æ¯å¦å¨é¦æ¬¡ç»å½æ¶åå§å群ç»ä¿¡æ¯
has is_init_discuss => 1; #æ¯å¦å¨é¦æ¬¡ç»å½æ¶åå§å讨论ç»ä¿¡æ¯
has is_update_user => 0; #æ¯å¦å®ææ´æ°ä¸ªäººä¿¡æ¯
has is_update_group => 1; #æ¯å¦å®ææ´æ°ç¾¤ç»ä¿¡æ¯
has is_update_group_member => 1; #æ¯å¦å®ææ´æ°ç¾¤æåä¿¡æ¯
has is_update_group_member_ext => 0; #æ¯å¦å®ææ´æ°ç¾¤æåæ©å±ä¿¡æ¯
has is_update_friend => 1; #æ¯å¦å®ææ´æ°å¥½åä¿¡æ¯
has is_update_discuss => 1; #æ¯å¦å®ææ´æ°è®¨è®ºç»ä¿¡æ¯
has update_interval => 600; #å®ææ´æ°çæ¶é´é´é
has encrypt_method => "perl"; #perl|js
has tmpdir => sub {$ENV{MOJO_WEBQQ_TMPDIR} || File::Spec->tmpdir();};
has pic_dir => sub {$_[0]->tmpdir};
( run in 2.024 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )