1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sjdy521-Mojo-Webqq

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Mojo-Webqq v2.2.0 Статус сборки Присоединиться к чату Список API QQ группа - 498880156 IRC

Клиентская библиотека для Smartqq, написанная на Perl с использованием Mojolicious. Требуется версия Perl 5.10+. Предоставляет API-интерфейсы на основе протокола HTTP через плагины для вызова другими языками или системами.

Важное заявление

Проект полностью следует за официально предоставленными QQ-функциями и не включает никаких действий, нарушающих целостность или хакинг аккаунтов. Проект открытый и его цель — способствовать техническому общению и обучению. Запрещено использование проекта для целей, представляющих опасность для государства, компаний или частных лиц; последствия будут личной ответственностью пользователя.

Основные возможности* Поддерживает вход по имени пользователя и паролю, а также сканирование QR-кода для входа

  • Поддерживает удаление участников группы, запрет на отправку сообщений, назначение/отмену администратора, изменение названия участника группы, приглашение друзей в группу, отметку присутствия в группе
  • Поддерживает получение реального номера QQ для друзей, групп и участников групп
  • Поддерживает уведомления о новых друзьях, потерянных друзьях, новых группах, выходе из групп, новых участниках групп, потерянных участниках групп (не в режиме реального времени)
  • Поддерживает несколько платформ (Windows/Linux/Mac), поддерживает контейнеры Docker, простую установку и развертывание, даже если вы не знакомы с Perl
  • Предоставляет API-интерфейсы на основе протокола HTTP, которые являются простыми и многочисленными, что делает их удобными для интеграции с другими языками программирования
  • Это работа продукта-менеджера, которая уделяет особое внимание "опыту пользователя" во всех аспектах кода, а также имеет отличную репутацию владельца, которую вы поймёте### Список плагинов|Название | Приоритет | Текущий статус | Автор GitHub | Описание функции
    |:-----------------------|:----------:|:-----------------|:-----------------|:---------------------------------- |ShowMsg|100 | Отпущен | sjdy521 | Вывод сообщений, получаемых и отправляемых клиентом |GroupManage|100 | Отпущен | sjdy521 | Управление группой, приветствие при входе в группу, ограничение частоты отправки изображений и т. д. |IRCShell|99 | Отпущен | sjdy521 | Использование QQ через IRC-клиент в Linux |Openqq|98 | Отпущен | sjdy521 | Предоставление API для отправки сообщений QQ |Perlcode|97 | Отпущен | sjdy521 | Выполнение кода Perl через сообщения QQ |Perldoc|96 | Отпущен | sjdy521 | Поиск справочной информации Perl через сообщения QQ |Translation|93 | Отпущен | sjdy521 | Функционал перевода между многими языками |KnowledgeBase|3 | Отпущен | sjdy521 | Дополнительно редактируемый базовый вопросно-ответный банк данных|Qiandao|1|Отпущен|sjdy521|Ежедневная регистрация в группе QQ| |PostQRcode|0|Отпущен|sjdy521|Отправка QR-кода для входа на электронную почту для удалённого сканирования| |UploadQRcode|0|Отпущен|sjdy521|Загрузка QR-кода на сервер для получения публичной ссылки доступа| |ShowQRcode|Показ QR-кода|0|Опубликовано|autodataming|Отображает QR-код с помощью системы просмотра изображений (в настоящее время поддерживаются только Windows)| |Умный ответ|0|Опубликовано|sjdy521|Умный ответ в чате|

Для более подробной информации о плагинах см. полную таблицу плагинов.### Демонстрация работы

Один командный запрос запускает умного чата бота, Perl и они такие элегантные. Приятного использования!

cpanm Mojo::Webqq && perl -MMojo::Webqq -e "Mojo::Webqq->new->load('ShowMsg')->load('SmartReply')->run()"
[15/09/30 15:11:59] [инфо] Инициализация параметров клиента smartqq...
[15/09/30 15:11:59] [инфо] Проверка капчи...
[15/09/30 15:11:59] [инфо] Результат проверки: Удача! Для входа не требуется капча
[15/09/30 15:11:59] [инфо] Получение QR-кода для входа...
[15/09/30 15:11:59] [инфо] QR-код загружен локально [/tmp/mojo_webqq_qrcode_xxx.png]
[15/09/30 15:12:00] [инфо] QR-код отправлен на электронную почту: ******
[15/09/30 15:12:00] [инфо] Ожидание сканирования QR-кода с мобильного приложения QQ...
[15/09/30 15:12:43] [инфо] QR-код успешно сканирован, нажмите кнопку [Разрешить вход в smartQQ] на телефоне...
[15/09/30 15:12:46] [инфо] Проверка безопасности...
[15/09/30 15:12:47] [инфо] Настройка параметров аутентификации...
[15/09/30 15:12:47] [инфо] Попытка входа (2)...
[15/09/30 15:12:47] [инфо] Вход выполнен успешно
[15/09/30 15:12:47] [инфо] Обновление информации о профиле...
[15/09/30 15:12:47] [инфо] Обновление информации о друзьях...
[15/09/30 15:12:47] [инфо] Обновление информации о группе [PERL учебный обмен]
[15/09/30 15:12:52] [инфо] Обновление информации о группе [Mojolicious]
[15/09/30 15:12:55] [инфо] Начало приема сообщений...
[15/09/30 14:09:20] [сообщение группы] Крошка | PERL учебный обмен : Mojo::Webqq очень хорош
[15/09/30 14:10:20] [сообщение группы] Я -> PERL учебный обмен : Большое спасибо
```#### Использование QQ через IRC-клиент в Linux терминале

``````markdown
    +-------------------+                      +----------------+
    |  Tencent          |                      | Any IRC Client |
    |  SmartQQ Server   |                      | wechat、irssi  |
    +---v-------------^-+                      +-v------------^-+
        |             |                          |            |
        | QQ协议交互  |                          | IRC协议交互 |
+-- --- |--  - -  --  | - - -   --   -  -   ---  | ---  ----- | --+
|   +---v-------------^--+                  +----v------------^-+ |
|   |                    <--------------------------------------> |
|   |   SmartQQ Client   |     QQ - IRC     |  IRC Server       | |
|   |                    |     协议转换     |  Listening on port 6667 | |
|   |                    >---------------------------------------> |
|   +--------------------+                  +---------------------+ |
|                                                                 |
|                                       Часть реализованной нами программы |
+---  - - - -  -- - --  ----  ------  -------  ------  ---    ----+

![IRCShell](screenshot/IRCShell.png)

#### Инструмент для IT-шников: как общаться как хакер (изображение от @動感光波)

![Как общаться как хакер](screenshot/How_to_chat_like_a_hacker.jpg)

#### Другие примеры использования приложения можно найти в разделе [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 образа](Docker.md).

1. *Установка Perl*

    Перед установкой проверьте наличие Perl на вашей системе. Кроме Windows, большинство платформ уже имеют установленную версию.    Ваша версия Perl должна быть не ниже 5.10.1, рекомендовано  Yöнее 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](http://www.activestate.com/activeperl/downloads)<br>|
    |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/linux.html)|
    |Mac         |1. **Система по умолчанию**<br>2. ActivePerl|[Скачать ActivePerl](http://www.activestate.com/activeperl/downloads)|

    Внимание:

    [Mojo-StrawberryPerl](https://github.com/sjdy521/Mojo-StrawberryPerl) — это урезанная версия StrawberryPerl, подходящая для Windows 32-bit и 64-bit систем.

2. *Установка пакетного менеджера cpanm* (если он уже установлен, пропустите этот шаг)

    Метод a: Установка через 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
```3. *Установка модуля Mojo::Webqq с помощью cpanm онлайн*

(Если этот модуль уже установлен в системе, выполнение этого шага приведёт к обновлению модуля)

        $ 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-%D0%BD%D0%B5-%root-%D0%B0%D0%B2%D1%82%D0%BE%D1%80-%D0%B0%D0%BD%D1%82%D0%B5%D0%B9-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D0%BD%D0%B5%D1%82-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D1%80%D0%BE%D0%B2).

Если проблемы все еще остаются, на Linux можно попробовать выполнить следующий скрипт для проверки зависимостей:

        $ curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Webqq/master/script/check_dependencies.pl"|perl -### Как использовать

1. Я знаком с Perl и являюсь профессионалом в этой области.

    Этот проект представляет собой чистый модуль Perl, который был опубликован на CPAN. Пожалуйста, внимательно ознакомьтесь с [документацией по использованию модуля `Mojo::Webqq`](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:

        $ perl xxxx.pl

    Пример вызова API для отправки сообщения другу:

        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 описаны в [документации API](API.md).

3. Я гик и хочу использовать IRC для управления QQ-чатом через командную строку. Просмотрите [инструкции по использованию плагина IRCShell](IRC.md)

4. Я администратор группы QQ или владелец группы, и хочу добавить в свою группу функцию управления через бота.

    Обратите внимание на [документацию по использованию плагина GroupManage](https://metacpan.org/pod/distribution/Mojo-Webqq/doc/Webqq.pod#Mojo::Webqq::Plugin::GroupManage)


### Основные зависимости

* [Mojolicious](https://metacpan.org/pod/Mojolicious)
* [Encode::Locale](https://metacpan.org/pod/Encode::Locale)

### Дополнительные документы

* [Журнал обновлений](Changes)
* [Документация по разработке и конфигурации](doc/Webqq.pod)
* [Документация HTTP API](API.md)
* [Часто задаваемые вопросы (FAQ)](FAQ.md)### Официальные каналы связи

* [Группа QQ](http://jq.qq.com/?_wv=1027&k=kjVJzo)
* [IRC](http://irc.perfi.wang/?channel=#Mojo-Webqq)

### Соответствующие ссылки

*JavaScript*
* [webqqircd](https://github.com/MaskRay/webqqircd) Управление WebQQ (SmartQQ) через клиент IRC, аналогично wechatircd
* [qqbot](https://github.com/floatinghotpot/qqbot) Бот SmartQQ и сервер API, работающий на Node.js
* [qqbot](https://github.com/ScienJus/qqbot) Бот QQ на основе SmartQQ (WebQQ) / бот QQ на основе API SmartQQ (WebQQ)

*Python*
* [SmartQQBot](https://github.com/Yinzo/SmartQQBot) Автоматический бот SmartQQ
* [qqbot](https://github.com/pandolia/qqbot) Разговорный бот на основе Tencent SmartQQ

*Java*
* [smartqq](https://github.com/ScienJus/smartqq) API SmartQQ (WebQQ), который можно использовать для создания своего бота QQ

### Поддержка проекта

Вы можете сделать пожертвование, используя QR-код для оплаты Alipay. Спасибо за вашу поддержку и поддержание духа.

![пожертвовать](screenshot/donate.jpg)

Особое спасибо [тем, кто когда-либо делал пожертвования](https://github.com/sjdy521/Mojo-Thanks)

### АВТОРСКИЕ ПРАВА и ЛИЦЕНЗИЯ

Авторское право © 2014 sjdy521

Эта библиотека является свободным программным обеспечением; вы можете распространять её и/или модифицировать её в соответствии с лицензией [BSD  Yöntem 2-clause "Упрощённой"](LICENSE)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Использование Perl-языка для написания клиентского фреймворка smartqq (без графического интерфейса), основанного на фреймворке Mojolicious, для проекта pfqq после проведённой реорганизации. Развернуть Свернуть
BSD-2-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/sjdy521-Mojo-Webqq.git
git@api.gitlife.ru:oschina-mirror/sjdy521-Mojo-Webqq.git
oschina-mirror
sjdy521-Mojo-Webqq
sjdy521-Mojo-Webqq
master