WeChatFerry: полнофункциональный фреймворк для разработки WeChat-роботов
Общее введение
WeChatFerry является открытым исходным кодом WeChat робот базовый каркас , созданный и поддерживается разработчиком lich0821 на GitHub . Проект через WeChat Hook технологии, предоставляет набор мощных SDK, позволяя разработчикам WeChat функции с различными большими языковыми моделями (такими как ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire, Tigerbot, и т.д.) интеграции, автоматизации задач и интеллектуального диалога. Основной модуль написан на C++, поддерживает множество клиентских языков (например, Python, Rust, Go, Java, Node.js, C# и т.д.) и адаптирован под конкретные версии WeChat (в настоящее время поддерживается 3.9.11.25). Благодаря своей гибкости и богатым возможностям WeChatFerry получил 5,5 тыс. звезд и 1,1 тыс. форков, что делает его популярным инструментом для разработки WeChat-роботов.

Список функций
- Сообщения: Поддерживает отправку текста (с символом @), изображений, файлов, GIF, а также позволяет прослушивать и принимать сообщения.
- Интеграция больших языковых моделей: Доступ к таким моделям, как ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire и т. д., для интеллектуальной обработки ответов или задач.
- Управление групповым чатом: Поддерживает такие операции, как приглашение членов группы и получение информации о группе.
- обработка мультимедиа: Поддержка загрузки изображений, файлов, расшифровки изображений и преобразования голосовых файлов (Silk) в MP3.
- доступ к базе данных: Можно запрашивать такие данные, как контакты WeChat, записи сообщений и т. д.
- Управление статусом входа в систему: Предоставляет функции получения QR-кода для входа, проверки статуса входа, получения информации об аккаунте (wxid, ник, номер мобильного телефона и т.д.).
- Многоязычный клиент: Поддержка разработки на стороне клиента на Python, Rust, Go, Java, Node.js, C# и других языках.
- Автоматизированные заданияПоддержка пересылки сообщений, задач по времени и т. д. для обслуживания клиентов, обучения и других сценариев.
Использование помощи
Процесс установки
Использование WeChatFerry делится на две части: компиляция основного модуля (для разработчиков) и установка на стороне клиента (для обычных пользователей). Ниже приведены подробные шаги:
1. Установка клиента (например, на Python)
- Установка среды Python: рекомендуется Python 3.10, загрузите и установите его с сайта python.org, и убедитесь, что
pip
Доступно. - Установите пакет wcferry: Откройте командную строку и запустите:
pip install --upgrade wcferry
- Проверка установки: Запуск в Python
import wcferry
Если не сообщается об ошибке, значит, все прошло успешно.
2. компиляция основного модуля (опционально для разработчиков)
- Подготовка среды::
- Установите Visual Studio 2019 (Community Edition), которая включает компоненты разработки на C++.
- Установите Git для клонирования репозиториев.
- склад клонов::
git clone https://github.com/lich0821/WeChatFerry.git cd WeChatFerry
- Компиляция проектов::
- Открыть с помощью VS2019
WeChatFerry\WeChatFerry\WeChatFerry.sln
. - Нажмите "Generate" > "Generate Solution", после компиляции решения вы сможете найти его в папке
WeChatFerry\WeChatFerry\Out
каталог для созданияsdk.dll
. - принимать к сведению: Если вы столкнулись с
protoc
Ошибка 9009, проверьте окружение или конфигурацию Pythonprotoc
переменная окружения (требует установки protobuf).
- Открыть с помощью VS2019
3. Запустите WeChat и введите
- Подготовить microsoft: Установите поддерживаемую версию WeChat (например, 3.9.10.27 или 3.9.11.25, см. раздел "Релизы").
- пример работы: обратитесь к официальному коду для загрузки
sdk.dll
и инициализировать:import ctypes sdk = ctypes.cdll.LoadLibrary("C:/path/to/WeChatFerry/WeChatFerry/Out/sdk.dll") sdk.WxInitSDK(False, 10086) # 初始化,默认端口 10086
- Выход из SDK: Запустите его, когда закончите использовать.
sdk.WxDestroySDK()
Процесс Python будет остановлен, когда он будет готов к запуску и завершению.
Основные функции
Сообщения
- Отправить текстовое сообщение::
from wcferry import Wcf wcf = Wcf() wcf.send_text("你好", "wxid_xxxx") # wxid_xxxx 为目标微信 ID
- Поддержите @ кого-нибудь:
wcf.send_text("你好 @Tom", "roomid_xxxx")
.
- Поддержите @ кого-нибудь:
- получить сообщение::
wcf.enable_receiving_msgs() # 开启接收 while True: msg = wcf.get_msg() if msg: print(f"收到: {msg.content}") wcf.disable_receiving_msgs() # 停止接收
Интеграция больших языковых моделей
- Доступ к примеру ChatGPT(Вам необходимо самостоятельно настроить ключ API):
from wcferry import Wcf import openai wcf = Wcf() openai.api_key = "your_api_key" def chatgpt_reply(msg): response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": msg.content}] ) wcf.send_text(response.choices[0].message.content, msg.sender) wcf.enable_receiving_msgs() while True: msg = wcf.get_msg() if msg: chatgpt_reply(msg)
обработка мультимедиа
- Отправить картинку::
wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
- Голос в MP3: Использование
smc
модуль (требуется компиляция), установите.silk
Документация преобразована в.mp3
::from wcferry import smc smc.silk_to_mp3("input.silk", "output.mp3")
Управление групповым чатом
- Приглашенные члены::
wcf.invite_room_members("roomid_xxxx", ["wxid_user1", "wxid_user2"])
- Получить информацию о группе::
room_info = wcf.get_chatroom_info("roomid_xxxx") print(room_info)
Пример потока операций
- Рамки запуска: Сборник
sdk.dll
Если вы хотите использовать сценарий Python, запустите сценарий Python, чтобы загрузить и инициализировать его. - Войдите в WeChat: Реализация
wcf.get_login_qrcode()
Получите QR-код и отсканируйте его, чтобы войти в систему. - Особенности конфигурации: Пишите скрипты для прослушивания сообщений, автоответа или управления группами.
- эксплуатационное испытание: Запустите сценарий в командной строке, чтобы проверить, что поведение microsoft соответствует ожиданиям.
- Оптимизация отладки: Если что-то пойдет не так, вы можете добавить журнал отладки в VS2019 (например.
DbgMsg("Test")
), вопросы позиционирования.
Поддержка многоязычных клиентов
- Ржавчина: Использование wcfrust.
- Перейти на сайт: Справочник go_wcf_http.
- JavaСм. описание java-клиента.
- Node.js: Использование wcferry-node.
- C#: Справочник WeChatFerry-CSharp.
- Docker: Использование docker_wechat.
предостережение
- Текущая версия WeChat - 3.9.11.25, что может привести к сбою инъекции.
- Проект предназначен только для учебных и исследовательских целей и работает под лицензией MIT.
- В настоящее время многократное открытие не поддерживается и требует запуска одного экземпляра.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...