Клиентская среда Smartqq, написанная на языке Perl на основе Mojolicious, требует Perl версии 5.10+ и может предоставлять интерфейс API на основе протокола HTTP через плагины для вызова других языков или систем.
Этот проект полностью соответствует исходным функциям, предоставленным официальным представителем QQ, и не включает в себя какие-либо акты саботажа, кражи учетных записей и т. д. Целью этого проекта является содействие техническому обмену и обучению любого незаконного использования, наносящего вред. стране, предприятиям, частным лицам и т.д. запрещено, иначе будут последствия тщеславного
имя | приоритет | Текущий статус | автор github | Описание функции |
---|---|---|---|---|
Показатьсообщение | 100 | Опубликовано | sjdy521 | Печать сообщений, полученных и отправленных клиентом |
ГруппаУправление | 100 | Опубликовано | sjdy521 | Управление группой, добро пожаловать в группу, ограничение частоты размещения фотографий и т.д. |
IRCShell | 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 |
СообщениеQR-код | 0 | Опубликовано | sjdy521 | Войдите в QR-код и отправьте его на свою электронную почту для удаленного сканирования. |
Загрузить QR-код | 0 | Опубликовано | sjdy521 | Загрузите QR-код на платформу изображений, чтобы получить URL-адрес доступа к общедоступной сети. |
Показать QR-код | 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 | Адрес загрузки StrawberryPerl Адрес загрузки Mojo-StrawberryPerl Адрес загрузки ActivePerl |
Линукс | 1. Система поставляется с 2. Менеджеры пакетов, такие как yum/apt. 3. Официальная компиляция исходного кода. 4. АктивПерл 5. DWIM-Perl | Адрес загрузки ActivePerl Адрес загрузки DWIM-Perl |
Мак | 1. Система поставляется с 2. АктивПерл | Адрес загрузки ActivePerl |
Уведомление:
Mojo-StrawberryPerl оптимизирован и упакован на основе StrawberryPerl и подходит для 32-битных/64-битных систем Windows.
Установите инструмент управления пакетами cpanm (вы можете пропустить этот шаг, если cpanm уже установлен в системе)
Способ а: установить cpanm через cpan
$ cpan -i App::cpanminus
Способ б. Установите 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, которые были упакованы более полно.
Например, последние версии более популярных клубникиperl или activeperl по умолчанию включают основной модуль зависимостей Mojo::Webqq.
RedHat/Centos:
$ yum install -y openssl-devel
Убунту:
$ sudo apt-get install libssl-dev
После исправления среды компиляции и выполнения вернитесь к шагу 2 и установите Mojo::Webqq.
Пожалуйста, попробуйте установить и использовать его под root-доступом. Для установки и использования без root-прав обратитесь к FAQ.
Если у вас все еще есть проблемы, вы можете попробовать выполнить следующий скрипт в Linux, чтобы проверить зависимые модули.
$ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Webqq/master/script/check_dependencies.pl"|perl -
Я очень хорошо знаком с Perl и являюсь профессиональным Perl.
Этот проект представляет собой чистый модуль 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.
JavaScript
Питон
Ява
Вы можете стать спонсором, отсканировав QR-код платежа Alipay. Спасибо за вашу поддержку и поощрение.
Особая благодарность тем друзьям, которые спонсировали
Авторские права (C) 2014, автор: sjdy521
Эта библиотека является свободным программным обеспечением; вы можете распространять ее и/или изменять согласно 2-пункту «Упрощенной» лицензии BSD.