เฟรมเวิร์กไคลเอนต์ Smartqq เขียนด้วยภาษา Perl ที่ใช้ Mojolicious ต้องใช้ Perl เวอร์ชัน 5.10+ และสามารถจัดเตรียมอินเทอร์เฟซ API ที่ใช้โปรโตคอล HTTP ผ่านปลั๊กอินสำหรับภาษาหรือระบบอื่นที่จะโทร
โปรเจ็กต์นี้เป็นไปตามฟังก์ชันดั้งเดิมที่จัดทำโดยเจ้าหน้าที่ของ QQ อย่างสมบูรณ์ และไม่รวมถึงการก่อวินาศกรรม การขโมยบัญชี ฯลฯ โปรเจ็กต์นี้เป็นโอเพ่นซอร์สโดยสมบูรณ์ จุดประสงค์คือเพื่อส่งเสริมการแลกเปลี่ยนทางเทคนิคและการเรียนรู้ใด ๆ ที่ผิดกฎหมายที่เป็นอันตรายต่อ ห้ามประเทศ รัฐวิสาหกิจ บุคคล ฯลฯ มิฉะนั้นจะเกิดผลที่ตามมา
ชื่อ | ลำดับความสำคัญ | สถานะปัจจุบัน | ผู้เขียน GitHub | คำอธิบายฟังก์ชัน |
---|---|---|---|---|
แสดงข่าวสาร | 100 | ที่ตีพิมพ์ | sjdy521 | พิมพ์ข้อความที่ได้รับและส่งโดยลูกค้า |
จัดการกลุ่ม | 100 | ที่ตีพิมพ์ | sjdy521 | การจัดการกลุ่ม ยินดีเข้าร่วมกลุ่ม จำกัดความถี่ในการลงภาพ ฯลฯ |
ไออาร์ซีเชลล์ | 99 | ที่ตีพิมพ์ | sjdy521 | การใช้ qq ผ่านไคลเอนต์ irc ในสภาพแวดล้อม Linux |
Openqq | 98 | ที่ตีพิมพ์ | sjdy521 | จัดเตรียมอินเทอร์เฟซ API การส่งข้อความ QQ |
เพิร์ลโค้ด | 97 | ที่ตีพิมพ์ | sjdy521 | รันโค้ด Perl ผ่านข้อความ qq |
เพิร์ลดอกซ์ | 96 | ที่ตีพิมพ์ | sjdy521 | ค้นหาเอกสาร Perl ผ่านข้อความ qq |
การแปล | 93 | ที่ตีพิมพ์ | sjdy521 | ฟังก์ชั่นการแปลหลายภาษา |
ฐานความรู้ | 3 | ที่ตีพิมพ์ | sjdy521 | ฐานความรู้ถามตอบที่แก้ไขได้และปรับแต่งได้ |
เฉียนต่าว | 1 | ที่ตีพิมพ์ | sjdy521 | เช็คอินกลุ่ม QQ ทุกวัน |
โพสต์คิวอาร์โค้ด | 0 | ที่ตีพิมพ์ | sjdy521 | เข้าสู่ระบบรหัส QR และส่งไปยังอีเมลของคุณเพื่อการสแกนระยะไกล |
อัพโหลดQRcode | 0 | ที่ตีพิมพ์ | sjdy521 | อัปโหลดโค้ด QR ไปที่เตียงรูปภาพเพื่อรับ URL การเข้าถึงเครือข่ายสาธารณะ |
แสดงQRcode | 0 | ที่ตีพิมพ์ | การระบุข้อมูลอัตโนมัติ | เรียกโปรแกรมดูภาพระบบเพื่อแสดงรหัส QR (ปัจจุบันรองรับเฉพาะ win) |
สมาร์ทรีพลาย | 0 | ที่ตีพิมพ์ | sjdy521 | การตอบกลับแชทอัจฉริยะ |
สำหรับปลั๊กอินเพิ่มเติม โปรดดูรายการปลั๊กอินทั้งหมด
เพียงพิมพ์คำสั่งเดียวเพื่อเริ่มแชทบอทอัจฉริยะ ทั้ง Perl และคุณก็สนุกได้เลย!
cpanm Mojo::Webqq && perl -MMojo::Webqq -e "Mojo::Webqq->new->load('ShowMsg')->load('SmartReply')->run()"
[15/09/30 15:11:59] [info] 初始化 smartqq 客户端参数...
[15/09/30 15:11:59] [info] 检查验证码...
[15/09/30 15:11:59] [info] 检查结果: 很幸运,本次登录不需要验证码
[15/09/30 15:11:59] [info] 正在获取登录二维码...
[15/09/30 15:11:59] [info] 二维码已下载到本地[ /tmp/mojo_webqq_qrcode_xxx.png ]
[15/09/30 15:12:00] [info] 登录二维码已经发送到邮箱: ******
[15/09/30 15:12:00] [info] 等待手机QQ扫描二维码...
[15/09/30 15:12:43] [info] 手机QQ扫码成功,请在手机上点击[允许登录smartQQ]按钮...
[15/09/30 15:12:46] [info] 检查安全代码...
[15/09/30 15:12:47] [info] 设置登录验证参数...
[15/09/30 15:12:47] [info] 尝试进行登录(2)...
[15/09/30 15:12:47] [info] 登录成功
[15/09/30 15:12:47] [info] 更新个人信息...
[15/09/30 15:12:47] [info] 更新好友信息...
[15/09/30 15:12:47] [info] 更新[ PERL学习交流 ]信息
[15/09/30 15:12:52] [info] 更新[ Mojolicious ]信息
[15/09/30 15:12:55] [info] 开始接收消息...
[15/09/30 14:09:20] [群消息] 小灰|PERL学习交流 : Mojo::Webqq不错哦
[15/09/30 14:10:20] [群消息] 我->PERL学习交流 : 多谢多谢
+-------------------+ +----------------+
| Tencent | | Any IRC Client |
| SmartQQ Server | | wechat、irssi |
+---v-------------^-+ +-v------------^-+
| | | |
| QQ协议交互 | |IRC协议交互 |
+-- --- |-- - - -- | - - - -- - - --- | --- ----- | --+
| +---v-------------^--+ +----v------------^-+ |
| | <——————————————————< | |
| | SmartQQ Client | QQ - IRC | IRC Server | |
| | | 协议转换 | 监听本机6667端口 | |
| | >——————————————————> | |
| +--------------------+ +-------------------+ |
| |
| 我们程序实现的部分 |
+--- - - - - -- - -- ---- ------ ------- ------ --- ----+
ขอแนะนำให้ใช้ cpanm เพื่อติดตั้งหรืออัปเกรดโมดูล Mojo::Webqq ออนไลน์ หากคุณใช้ docker โปรดดูการติดตั้งและการใช้งานอิมเมจ Docker
ติดตั้งเพิร์ล
ก่อนการติดตั้ง โปรดยืนยันว่ามีการติดตั้ง Perl ในระบบของคุณแล้วหรือไม่ เพราะยกเว้น Windows แพลตฟอร์มอื่น ๆ ส่วนใหญ่อาจมีการติดตั้งไว้ล่วงหน้าตามค่าเริ่มต้น
และเวอร์ชัน Perl ของคุณคืออย่างน้อย 5.10.1+ แนะนำให้ใช้ 5.14+
หน้าดาวน์โหลดเว็บไซต์อย่างเป็นทางการของ Perl มีคำแนะนำในการติดตั้งที่ค่อนข้างครอบคลุมและละเอียดสำหรับหลายแพลตฟอร์ม Unix/Linux, Mac OS X และ Windows
ขอแนะนำให้คุณลองเลือกเวอร์ชัน Binaries (ไบนารีที่คอมไพล์ไว้ล่วงหน้า) ซึ่งสามารถใช้งานได้ทันทีหลังการติดตั้งซึ่งสะดวกกว่า
แพลตฟอร์ม | ทางเลือกที่แนะนำ | ดาวน์โหลดที่อยู่ |
---|---|---|
หน้าต่าง | 1. สตรอเบอร์รี่เพิร์ล 2. แอคทีฟเพิร์ล 3. โมโจ-สตรอเบอร์รี่เพิร์ล | ที่อยู่ดาวน์โหลด StrawberryPerl ที่อยู่ดาวน์โหลด Mojo-StrawberryPerl ที่อยู่ดาวน์โหลด ActivePerl |
ลินุกซ์ | 1. มาพร้อมระบบ 2. ผู้จัดการแพ็คเกจ เช่น yum/apt 3. การรวบรวมซอร์สโค้ดอย่างเป็นทางการ 4. แอคทีฟเพิร์ล 5. DWIM-Perl | ที่อยู่ดาวน์โหลด ActivePerl ที่อยู่ดาวน์โหลด DWIM-Perl |
แม็ค | 1. มาพร้อมระบบ 2. แอคทีฟเพิร์ล | ที่อยู่ดาวน์โหลด ActivePerl |
สังเกต:
Mojo-StrawberryPerl ได้รับการปรับปรุงและจัดทำแพ็คเกจโดยใช้ StrawberryPerl และเหมาะสำหรับระบบ Windows 32 บิต/64 บิต
ติดตั้งเครื่องมือการจัดการแพ็คเกจ cpanm (คุณสามารถข้ามขั้นตอนนี้ได้หากติดตั้ง cpanm บนระบบแล้ว)
วิธี a: ติดตั้ง cpanm ผ่าน cpan
$ 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
ใช้ cpanm เพื่อติดตั้งโมดูล Mojo::Webqq ออนไลน์ (หากระบบได้ติดตั้งโมดูลแล้ว การทำตามขั้นตอนนี้จะเป็นการอัปเกรดโมดูล)
$ cpanm Mojo::Webqq
หากยังคงแจ้งว่าการดาวน์โหลดล้มเหลวระหว่างขั้นตอนการติดตั้ง อาจเป็นเพราะการเข้าถึงเครือข่ายไปยังเซิร์ฟเวอร์ต่างประเทศไม่ดี
ในกรณีนี้ คุณสามารถลองระบุไซต์มิเรอร์ในประเทศด้วยตนเองได้ดังนี้:
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq
การติดตั้งล้มเหลววิธีแก้ปัญหาที่อาจช่วยได้
หากคุณโชคไม่ดีและไม่ได้รับการติดตั้งครั้งแรกผ่าน cpanm นี่คือข้อมูลบางส่วนที่อาจเป็นประโยชน์
ระหว่างการติดตั้ง Mojo::Webqq cpan หรือ cpanm จะช่วยให้เราติดตั้งโมดูลที่ต้องพึ่งพาอื่น ๆ มากมายโดยอัตโนมัติ
ในบรรดาโมดูลที่ต้องพึ่งพาจำนวนมาก โมดูลที่มักจะเกิดปัญหาในการติดตั้งคือ IO::Socket::SSL
IO::Socket::SSL ให้การสนับสนุน https เป็นหลัก กระบวนการติดตั้งอาจเกี่ยวข้องกับการรวบรวมไลบรารีที่เกี่ยวข้องกับ SSL
สำหรับผู้ใช้ Linux โดยปกติจะใช้การคอมไพล์และการติดตั้ง หากระบบขาดสภาพแวดล้อมที่จำเป็นสำหรับการคอมไพล์และการติดตั้ง การคอมไพล์จะล้มเหลว
สำหรับผู้ใช้ Windows เนื่องจากไม่มีสภาพแวดล้อมการคอมไพล์และการติดตั้งที่ดี ขอแนะนำให้ใช้สภาพแวดล้อมการทำงาน Perl บางตัวที่ได้รับการจัดทำแพ็คเกจอย่างครอบคลุมมากขึ้น
ตัวอย่างเช่น เวอร์ชันล่าสุดของ Strawberryperl หรือ Activeperl ที่ได้รับความนิยมมากกว่าจะรวมโมดูลการพึ่งพาหลักของ Mojo::Webqq ตามค่าเริ่มต้น
เรดแฮท/เซนโตส:
$ yum install -y openssl-devel
อูบุนตู:
$ sudo apt-get install libssl-dev
หลังจากแก้ไขสภาพแวดล้อมการคอมไพล์และรันแล้ว ให้กลับไปที่ขั้นตอนที่ 2 และติดตั้ง Mojo::Webqq
โปรดลองติดตั้งและใช้งานภายใต้รูท สำหรับการติดตั้งและใช้งานภายใต้ที่ไม่ใช่รูท โปรดดูที่คำถามที่พบบ่อย
หากคุณยังคงประสบปัญหา คุณสามารถลองเรียกใช้สคริปต์ต่อไปนี้บน Linux เพื่อตรวจสอบโมดูลที่ต้องพึ่งพา
$ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Webqq/master/script/check_dependencies.pl"|perl -
ฉันคุ้นเคยกับ Perl เป็นอย่างดีและเป็น Perler มืออาชีพ
โปรเจ็กต์นี้เป็นโมดูล Perl ล้วนๆ ที่เผยแพร่สู่ cpan โปรดอ่านเอกสารการใช้งานของ Mojo::Weqq
อย่างละเอียด
นอกจากนี้ คุณสามารถดูตัวอย่างโค้ดเพิ่มเติมได้ในไดเร็กทอรีสาธิต
ฉันไม่คุ้นเคยกับ 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 ที่รับฟังพอร์ตที่อยู่ที่ระบุจะถูกสร้างขึ้นบนเครื่องท้องถิ่น
$ 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
> User-Agent: curl/7.29.0
> Host: 127.0.0.1:5000
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json;charset=UTF-8
< Date: Sun, 13 Dec 2015 04:54:38 GMT
< Content-Length: 52
< Server: Mojolicious (Perl)
<
* Connection #0 to host 127.0.0.1 left intact
{"status":"发送成功","msg_id":23910327,"code":0}
สำหรับคำอธิบายพารามิเตอร์อินเทอร์เฟซเพิ่มเติม โปรดดูเอกสารประกอบ API
ฉันเป็นคนเกินบรรยาย ฉันแค่อยากเล่นแชท QQ ผ่าน IRC บนบรรทัดคำสั่งได้
โปรดอ่านขั้นตอนในการใช้ปลั๊กอิน IRCShell
ฉันเป็นเจ้าของหรือผู้ดูแลระบบกลุ่ม QQ ฉันต้องการเพิ่มฟังก์ชันการจัดการกลุ่มหุ่นยนต์ให้กับกลุ่มของฉัน
โปรดใส่ใจกับเอกสารการใช้งานปลั๊กอิน GroupManage
จาวาสคริปต์
หลาม
ชวา
คุณสามารถสนับสนุนโดยการสแกนรหัส QR การชำระเงินของ Alipay ขอขอบคุณสำหรับการสนับสนุนและกำลังใจของคุณ
ขอขอบคุณเป็นพิเศษสำหรับเพื่อน ๆ ที่ได้ให้การสนับสนุน
ลิขสิทธิ์ (C) 2014 โดย sjdy521
ไลบรารีนี้เป็นซอฟต์แวร์ฟรี คุณสามารถแจกจ่ายซ้ำและ/หรือแก้ไขได้ภายใต้สิทธิ์การใช้งาน "แบบง่าย" ของ BSD 2 ข้อ