Kerangka kerja klien Smartqq yang ditulis dalam bahasa Perl, berdasarkan Mojolicious, memerlukan Perl versi 5.10+, dan dapat menyediakan antarmuka API berdasarkan protokol HTTP melalui plug-in untuk dipanggil oleh bahasa atau sistem lain
Proyek ini sepenuhnya mengikuti fungsi asli yang disediakan oleh pejabat QQ, dan tidak mencakup tindakan sabotase, pencurian akun, dll. Proyek ini sepenuhnya open source. Tujuannya adalah untuk mempromosikan pertukaran teknis dan pembelajaran apa pun negara, perusahaan, individu, dll dilarang, jika tidak maka akan ada konsekuensinya
nama | prioritas | Status saat ini | penulis github | Deskripsi fungsi |
---|---|---|---|---|
Tampilkan Pesan | 100 | Diterbitkan | sjdy521 | Cetak pesan yang diterima dan dikirim oleh klien |
Kelola Grup | 100 | Diterbitkan | sjdy521 | Manajemen grup, selamat bergabung dengan grup, batasi frekuensi posting gambar, dll. |
cangkang IRCS | 99 | Diterbitkan | sjdy521 | Menggunakan qq melalui klien irc di lingkungan Linux |
Bukaqq | 98 | Diterbitkan | sjdy521 | Menyediakan antarmuka API pengiriman pesan QQ |
kode Perl | 97 | Diterbitkan | sjdy521 | Jalankan kode Perl melalui pesan qq |
Perldoc | 96 | Diterbitkan | sjdy521 | Kueri dokumen Perl melalui pesan qq |
Terjemahan | 93 | Diterbitkan | sjdy521 | Fungsi terjemahan multi-bahasa |
Basis Pengetahuan | 3 | Diterbitkan | sjdy521 | Basis pengetahuan Tanya Jawab yang dapat diedit dan dapat disesuaikan |
Qiandao | 1 | Diterbitkan | sjdy521 | Check-in harian grup QQ |
PostQRcode | 0 | Diterbitkan | sjdy521 | Masuk kode QR dan kirimkan ke email Anda untuk pemindaian jarak jauh. |
UnggahQRcode | 0 | Diterbitkan | sjdy521 | Unggah kode QR ke alas gambar untuk mendapatkan URL akses jaringan publik |
Tunjukkan kode QR | 0 | Diterbitkan | pendataan otomatis | Panggil program tampilan gambar sistem untuk menampilkan kode QR (saat ini hanya mendukung win) |
Balasan Cerdas | 0 | Diterbitkan | sjdy521 | Balasan obrolan cerdas |
Untuk plug-in lainnya, lihat daftar plug-in lengkap
Cukup ketikkan satu perintah untuk memulai chatbot yang cerdas, baik Perl dan Anda sangat elegan. Selamat menikmati!
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端口 | |
| | >——————————————————> | |
| +--------------------+ +-------------------+ |
| |
| 我们程序实现的部分 |
+--- - - - - -- - -- ---- ------ ------- ------ --- ----+
Disarankan untuk menggunakan cpanm untuk menginstal atau mengupgrade modul Mojo::Webqq secara online. Jika Anda menggunakan buruh pelabuhan, silakan lihat instalasi dan penggunaan image Docker.
Instal perl
Sebelum instalasi, harap konfirmasi apakah Perl sudah terinstal di sistem Anda, karena kecuali untuk Windows, sebagian besar platform lain mungkin sudah menginstalnya secara default.
Dan versi Perl Anda setidaknya 5.10.1+, disarankan 5.14+
Halaman pengunduhan situs web resmi Perl berisi petunjuk instalasi yang relatif komprehensif dan terperinci untuk berbagai platform Unix/Linux, Mac OS X, dan Windows.
Disarankan agar Anda mencoba memilih versi Biner (biner yang sudah dikompilasi sebelumnya), yang dapat digunakan segera setelah instalasi, yang mana lebih nyaman.
platform | Pilihan yang direkomendasikan | Alamat unduhan |
---|---|---|
jendela | 1. StroberiPerl 2. Perl Aktif 3. Mojo-StrawberryPerl | Alamat pengunduhan StrawberryPerl Alamat pengunduhan Mojo-StrawberryPerl Alamat pengunduhan ActivePerl |
Linux | 1. Dilengkapi dengan sistem 2. Manajer paket seperti yum/apt 3. Kompilasi kode sumber resmi 4. Perl Aktif 5. DWIM-Perl | Alamat pengunduhan ActivePerl Alamat pengunduhan DWIM-Perl |
Mac | 1. Dilengkapi dengan sistem 2. Perl Aktif | Alamat pengunduhan ActivePerl |
Melihat:
Mojo-StrawberryPerl disederhanakan dan dikemas berdasarkan StrawberryPerl dan cocok untuk sistem Windows 32-bit/64-bit.
Instal alat manajemen paket cpanm (Anda dapat mengabaikan langkah ini jika cpanm sudah terinstal di sistem)
Metode a: Instal cpanm melalui cpan
$ cpan -i App::cpanminus
Cara b: Instal cpanm langsung secara online
$ curl -kL https://cpanmin.us | perl - App::cpanminus
官方服务器在国外,如果无法访问,可以选择下面的命令:
$ curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus
Gunakan cpanm untuk menginstal modul Mojo::Webqq secara online (jika sistem telah menginstal modul, melakukan langkah ini akan mengupgrade modul)
$ cpanm Mojo::Webqq
Jika terus muncul pesan bahwa pengunduhan gagal selama proses instalasi, mungkin karena akses jaringan ke server asing buruk.
Dalam hal ini, Anda dapat mencoba menentukan situs mirror domestik secara manual sebagai berikut:
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq
Solusi instalasi gagal yang mungkin membantu
Jika Anda kurang beruntung dan tidak mendapatkan instalasi pertama kali melalui cpanm, berikut beberapa informasi yang mungkin bisa membantu
Selama instalasi Mojo::Webqq, cpan atau cpanm akan membantu kita menginstal banyak modul dependen lainnya secara otomatis
Di antara sekian banyak modul dependen, yang sering rawan masalah instalasi adalah IO::Socket::SSL.
IO::Socket::SSL terutama menyediakan dukungan https. Proses instalasi mungkin melibatkan kompilasi perpustakaan terkait SSL.
Untuk pengguna Linux, kompilasi dan instalasi biasanya digunakan. Jika sistem tidak memiliki lingkungan yang diperlukan untuk kompilasi dan instalasi, kompilasi akan gagal.
Untuk pengguna Windows, karena tidak ada lingkungan kompilasi dan instalasi yang baik, disarankan untuk menggunakan beberapa lingkungan berjalan Perl yang telah dikemas secara lebih komprehensif.
Misalnya, versi terbaru dari strawberryperl atau activeperl yang lebih populer menyertakan modul ketergantungan inti Mojo::Webqq secara default.
RedHat/Centos:
$ yum install -y openssl-devel
Ubuntu:
$ sudo apt-get install libssl-dev
Setelah memperbaiki kompilasi dan lingkungan yang berjalan, kembali ke langkah 2 dan instal Mojo::Webqq.
Silakan coba instal dan gunakan di bawah root. Untuk instalasi dan digunakan di bawah root, silakan merujuk ke FAQ.
Jika Anda masih mengalami masalah, Anda dapat mencoba menjalankan skrip berikut di Linux untuk memeriksa modul dependen
$ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Webqq/master/script/check_dependencies.pl"|perl -
Saya sangat akrab dengan Perl dan saya seorang Perler profesional
Proyek ini adalah modul Perl murni yang telah dirilis ke cpan. Harap baca dokumentasi penggunaan modul Mojo::Weqq
dengan cermat.
Selain itu, Anda dapat melihat contoh kode lainnya di direktori demo
Saya tidak akrab dengan Perl dan saya seorang pengembang bahasa lain. Saya hanya tertarik pada antarmuka pengiriman/penerimaan pesan yang disediakan.
Anda dapat langsung menyimpan kode berikut ke dalam file kode sumber (harus dikodekan UTF-8) dan menggunakan juru bahasa Perl untuk menjalankannya
#!/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();
Simpan kode di atas sebagai file xxxx.pl, lalu gunakan Perl untuk menjalankannya. Login QQ akan selesai dan server http yang mendengarkan port alamat yang ditentukan akan dihasilkan di mesin lokal.
$ perl xxxx.pl
Contoh panggilan antarmuka untuk mengirim pesan teman
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}
Untuk deskripsi parameter antarmuka selengkapnya, lihat dokumentasi API.
Saya seorang geek, saya hanya ingin bisa memainkan QQ chat melalui IRC pada baris perintah
Silakan baca langkah-langkah untuk menggunakan plug-in IRCShell
Saya adalah pemilik atau administrator grup QQ. Saya ingin menambahkan fungsi manajemen grup robot ke grup saya.
Harap perhatikan dokumentasi penggunaan plugin GroupManage
JavaScript
ular piton
Jawa
Anda dapat mensponsori dengan memindai kode QR pembayaran Alipay. Terima kasih atas dukungan dan dorongan Anda.
Terima kasih khusus kepada teman-teman yang telah mensponsori
Hak Cipta (C) 2014 oleh sjdy521
Perpustakaan ini adalah perangkat lunak gratis; Anda dapat mendistribusikannya kembali dan/atau memodifikasinya di bawah lisensi "Sederhana" klausa 2 BSD