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-роботов.

WeChatFerry:功能全面的微信机器人开发框架

 

Список функций

  • Сообщения: Поддерживает отправку текста (с символом @), изображений, файлов, 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, проверьте окружение или конфигурацию Python protoc переменная окружения (требует установки protobuf).

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)
    

Пример потока операций

  1. Рамки запуска: Сборник sdk.dllЕсли вы хотите использовать сценарий Python, запустите сценарий Python, чтобы загрузить и инициализировать его.
  2. Войдите в WeChat: Реализация wcf.get_login_qrcode() Получите QR-код и отсканируйте его, чтобы войти в систему.
  3. Особенности конфигурации: Пишите скрипты для прослушивания сообщений, автоответа или управления группами.
  4. эксплуатационное испытание: Запустите сценарий в командной строке, чтобы проверить, что поведение microsoft соответствует ожиданиям.
  5. Оптимизация отладки: Если что-то пойдет не так, вы можете добавить журнал отладки в VS2019 (например. DbgMsg("Test")), вопросы позиционирования.

Поддержка многоязычных клиентов

предостережение

  • Текущая версия WeChat - 3.9.11.25, что может привести к сбою инъекции.
  • Проект предназначен только для учебных и исследовательских целей и работает под лицензией MIT.
  • В настоящее время многократное открытие не поддерживается и требует запуска одного экземпляра.
© заявление об авторских правах

Похожие статьи

go-stock:AI赋能股票分析工具,自选股行情实时监控并基于AI深度分析

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...