Mojo-Webqq
view release on metacpan or search on metacpan
#### ITç·è£
é¼å©å¨ï¼å¦ä½åé»å®¢ä¸æ ·è天ï¼å¾çæ¥èª @åæå
æ³¢ï¼

#### æ´å¤åºç¨ææ 请åè§[Mojo-Webqqä½åå±](Collection.md)
### å®è£
æ¹æ³
æ¨è使ç¨[cpanm](https://metacpan.org/pod/distribution/App-cpanminus/bin/cpanm)å¨çº¿å®è£
æå级[Mojo::Webqq](https://metacpan.org/pod/distribution/Mojo-Webqq/doc/Webqq.pod)模å, å¦æä½¿ç¨dockeræ¹å¼è¯·åè§[Dockeréåå®è£
åä½¿ç¨æ...
1. *å®è£
perl*
å®è£
ä¹å请å
确认ä¸ä½ çç³»ç»æ¯å¦å·²ç»å®è£
äºPerlï¼å 为é¤äºwindowsï¼å
¶ä»å¤§é¨åçå¹³å°é»è®¤é½å¯è½å·²ç»é¢è£
è¿
å¹¶ä¸ä½ çPerlçæ¬è³å°5.10.1+ï¼æ¨è5.14+
[Perlå®ç½ä¸è½½é¡µé¢](https://www.perl.org/get.html) æå
å«Unix/LinuxãMac OS XãWindowså¤å¹³å°æ¯è¾å
¨é¢è¯¦ç»çå®è£
说æ
建议大家尽ééæ©**Binaries**ï¼äºè¿å¶é¢ç¼è¯ï¼ççæ¬ï¼å®è£
å³å¯ä½¿ç¨ï¼æ¯è¾æ¹ä¾¿
|å¹³å° |æ¨èéæ© |ä¸è½½å°å |
|:-------|:--------------------|:--------------------------|
|Windows |1. **StrawberryPerl**<br>2. ActivePerl<br>3. **Mojo-StrawberryPerl**|[StrawberryPerlä¸è½½å°å](http://strawberryperl.com/)<br>[Mojo-StrawberryPerlä¸è½½å°å](https://github.com/sjdy521/Mojo-StrawberryPerl)<br>[ActivePerlä¸è½½å°å...
|Linux  |1. **ç³»ç»èªå¸¦**<br>2. **yum/aptçå
管çå¨**<br>3. 宿¹æºç ç¼è¯<br>4. ActivePerl<br>5. DWIM-Perl|[ActivePerlä¸è½½å°å](http://www.activestate.com/activeperl/downloads)<br>[DWIM-Perlä¸è½½å°å](http://dwimperl.com/lin...
|Mac |1. **ç³»ç»èªå¸¦**<br>2. ActivePerl|[ActivePerlä¸è½½å°å](http://www.activestate.com/activeperl/downloads)|
注æï¼
[Mojo-StrawberryPerl](https://github.com/sjdy521/Mojo-StrawberryPerl)æ¯åºäºStrawberryPerlç²¾ç®æå
èæï¼éç¨äºwindows 32ä½/64ä½ç³»ç»
2. *å®è£
cpanmå
管çå·¥å
·*ï¼å¦æç³»ç»å·²ç»å®è£
äºcpanmå¯ä»¥å¿½ç¥æ¤æ¥éª¤ï¼
æ¹æ³aï¼ éè¿cpanå®è£
cpanm
$ cpan -i App::cpanminus
æ¹æ³bï¼ ç´æ¥å¨çº¿å®è£
cpanm
$ curl -kL https://cpanmin.us | perl - App::cpanminus
宿¹æå¡å¨å¨å½å¤ï¼å¦ææ æ³è®¿é®ï¼å¯ä»¥éæ©ä¸é¢çå½ä»¤ï¼
$ curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus
3. *使ç¨cpanmå¨çº¿å®è£
Mojo::Webqq 模å*ï¼å¦æç³»ç»å·²ç»å®è£
äºè¯¥æ¨¡åï¼æ§è¡æ¤æ¥éª¤ä¼å¯¹æ¨¡åè¿è¡å级ï¼
$ cpanm Mojo::Webqq
妿å®è£
è¿ç¨ä¸ä¸ç´æç¤ºä¸è½½å¤±è´¥ï¼å¾å¯è½æ¯å 为访é®å°å½å¤æå¡å¨ç½ç»æ¯è¾å·®
è¿ç§æ
åµä¸å¯ä»¥å°è¯æå¦ä¸æ¹å¼æå¨æå®å½å
çéåç«ç¹
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq
4. *å®è£
失败å¯è½æå¸®å©çè§£å³æ¹æ³*
å¦æä½ è¿æ°ä¸ä½³ï¼éè¿cpanm没æä¸æ¬¡æ§å®è£
æåï¼è¿éæä¾äºä¸äºå¯è½æç¨çä¿¡æ¯
å¨å®è£
Mojo::Webqq çè¿ç¨ä¸ï¼cpanæè
cpanmä¼å¸®å©æä»¬èªå¨å®è£
å¾å¤å
¶ä»çä¾èµæ¨¡å
å¨ä¼å¤çä¾èµæ¨¡åä¸ï¼å®è£
ç»å¸¸å®¹æåºç°é®é¢çä¸»è¦æ¯ IO::Socket::SSL
IO::Socket::SSL ä¸»è¦æä¾äº https æ¯æï¼å¨å®è£
è¿ç¨ä¸å¯è½ä¼æ¶åå°SSLç¸å
³åºçç¼è¯
å¯¹äº Linux ç¨æ·ï¼é常éç¨çæ¯ç¼è¯å®è£
çæ¹å¼ï¼ç³»ç»ç¼ºå°ç¼è¯å®è£
å¿
è¦çç¯å¢ï¼åä¼å¯¼è´ç¼è¯å¤±è´¥
å¯¹äº Windows ç¨æ·ï¼ç±äºä¸å
·å¤è¯å¥½çç¼è¯å®è£
ç¯å¢ï¼æ¨èéç¨ä¸äºå·²ç»æå
æ¯è¾å
¨é¢çPerlè¿è¡ç¯å¢
ä¾å¦æ¯è¾æµè¡ç strawberryperl æè
activeperl çææ°çæ¬é½é»è®¤å
å« Mojo::Webqq çæ ¸å¿ä¾èµæ¨¡å
RedHat/Centos:
$ yum install -y openssl-devel
Ubuntu:
$ sudo apt-get install libssl-dev
æå®äºç¼è¯åè¿è¡ç¯å¢ä¹åï¼åéæ°åå° æ¥éª¤2 å®è£
Mojo::Webqqå³å¯
请尽éå¨rootä¸å®è£
使ç¨ï¼érootä¸å®è£
使ç¨åè[FAQ](https://github.com/sjdy521/Mojo-Webqq/blob/master/FAQ.md#11-%E9%9D%9Eroot%E8%B4%A6%E5%8F%B7%E5%AE%89%E8%A3%85%E5%90%8E%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E9%97%AE%E9%A2%98)
妿ä»ç¶æé®é¢ï¼Linuxä¸å¯ä»¥å°è¯æ§è¡å¦ä¸èæ¬è¿è¡ä¾èµæ¨¡åæ£æ¥
$ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Webqq/master/script/check_dependencies.pl"|perl -
### å¦ä½ä½¿ç¨
1. *æå¯¹Perlå¾çæï¼æ¯ä¸ä¸ªä¸ä¸çPerler*
è¯¥é¡¹ç®æ¯ä¸ä¸ªçº¯ç²¹çPerl模åï¼å·²ç»åå¸å°äºcpanä¸ï¼è¯·ä»ç»é
读 `Mojo::Weqq` 模åç[ä½¿ç¨ææ¡£](https://metacpan.org/pod/distribution/Mojo-Webqq/doc/Webqq.pod)
餿¤ä¹å¤ï¼ä½ å¯ä»¥çä¸ [demo](https://github.com/sjdy521/Mojo-Webqq/tree/master/demo) ç®å½ä¸çæ´å¤ä»£ç 示ä¾
2. *ææ¯å¯¹Perlä¸çæï¼æ¯ä¸ä¸ªå
¶ä»è¯è¨çå¼åè
ï¼åªå¯¹æä¾çæ¶æ¯åé/æ¥æ¶æ¥å£æå
´è¶£*
å¯ä»¥ç´æ¥æå¦ä¸ä»£ç ä¿åæä¸ä¸ªæºç æä»¶ï¼å¿
é¡»æ¯UTF-8ç¼ç ï¼ï¼ä½¿ç¨ perl è§£é卿¥è¿è¡
#!/usr/bin/env perl
use Mojo::Webqq;
my ($host,$port,$post_api);
$host = "0.0.0.0"; #åéæ¶æ¯æ¥å£çå¬å°åï¼æ²¡æç¹æ®éè¦è¯·ä¸è¦ä¿®æ¹
$port = 5000; #åéæ¶æ¯æ¥å£çå¬ç«¯å£ï¼ä¿®æ¹ä¸ºèªå·±å¸æçå¬ç端å£
#$post_api = 'http://xxxx'; #æ¥æ¶å°çæ¶æ¯ä¸æ¥æ¥å£ï¼å¦æä¸éè¦æ¥æ¶æ¶æ¯ä¸æ¥ï¼å¯ä»¥å é¤ææ³¨éæ¤è¡
my $client = Mojo::Webqq->new();
$client->load("ShowMsg");
$client->load("Openqq",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api});
$client->run();
ä¸è¿°ä»£ç ä¿åæ xxxx.pl æä»¶ï¼ç¶åä½¿ç¨ perl æ¥è¿è¡ï¼å°±ä¼å®æ QQ ç»å½å¹¶å¨æ¬æºäº§çä¸ä¸ªç嬿å®å°å端å£ç http server
$ perl xxxx.pl
åé好忶æ¯çæ¥å£è°ç¨ç¤ºä¾
http://127.0.0.1:5000/openqq/send_friend_message?uid=xxxxx&content=hello
* About to connect() to 127.0.0.1 port 5000 (#0)
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0)
> GET /openqq/send_friend_message?uid==xxxxx&content=hello HTTP/1.1
( run in 1.548 second using v1.01-cache-2.11-cpan-39bf76dae61 )