WeChatFerry: un marco totalmente funcional para el desarrollo de robots WeChat

Introducción general

WeChatFerry es un robot de código abierto WeChat marco subyacente , creado y mantenido por el desarrollador lich0821 en GitHub . El proyecto a través de la tecnología WeChat Hook , proporciona un conjunto de potentes SDK , permitiendo a los desarrolladores a la función WeChat con una variedad de gran modelo de lenguaje ( como ChatGPT , Géminis , DeepSeek , ChatGLM , Xunfei Starfire , Tigerbot , etc.) integración , tareas automatizadas y el diálogo inteligente . El módulo central está escrito en C++, soporta múltiples lenguajes cliente (p.ej. Python, Rust, Go, Java, Node.js, C#, etc.), y está adaptado a versiones específicas de WeChat (actualmente soporta 3.9.11.25). Con su flexibilidad y ricas características, WeChatFerry ha atraído a 5.5k estrellas y 1.1k bifurcaciones, por lo que es una herramienta popular para el desarrollo de robots WeChat.

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

 

Lista de funciones

  • Mensajes: Admite el envío de texto (con @), imágenes, archivos, GIF, y puede escuchar y recibir mensajes.
  • Integración de grandes modelos lingüísticosAcceso a modelos como ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire, etc. para respuestas inteligentes o procesamiento de tareas.
  • Gestión de grupos de chatPermite operaciones como invitar a miembros del grupo y obtener información del grupo.
  • procesamiento multimedia: Soporte para descargar imágenes, archivos, desencriptar imágenes y convertir archivos de voz (Silk) a MP3.
  • acceso a la base de datosSe pueden consultar datos como contactos de WeChat, registros de mensajes, etc.
  • Gestión del estado de inicio de sesiónProporciona funciones para obtener el código QR de inicio de sesión, comprobar el estado de inicio de sesión, obtener información de la cuenta (wxid, apodo, número de teléfono móvil, etc.).
  • Cliente multilingüeSoporte para el desarrollo del lado del cliente en Python, Rust, Go, Java, Node.js, C# y otros lenguajes.
  • Tareas automatizadasSoporte de reenvío de mensajes, tareas cronometradas, etc., para atención al cliente, educación y otros escenarios.

 

Utilizar la ayuda

Proceso de instalación

El uso de WeChatFerry se divide en dos partes: compilación del módulo central (para desarrolladores) e instalación del lado del cliente (para usuarios normales). A continuación se detallan los pasos a seguir:

1. Instalación del cliente (en Python, por ejemplo)

  • Instalación del entorno PythonSe recomienda Python 3.10, descárguelo e instálelo desde python.org, y asegúrese de que el archivo pip Disponible.
  • Instalar el paquete wcferry: Abra la línea de comandos y ejecute:
    pip install --upgrade wcferry
  • Verificar la instalaciónEjecutar en Python import wcferrySi no se notifica ningún error, la operación se ha realizado correctamente.

2. Compilación del módulo central (opcional para desarrolladores)

  • Preparar el entorno::
    • Instale Visual Studio 2019 (Community Edition), que incluye componentes de desarrollo de C++.
    • Instalar Git para clonar repositorios.
  • almacén de clones::
    git clone https://github.com/lich0821/WeChatFerry.git  
    cd WeChatFerry
    
  • Compilación de proyectos::
    • Abrir con VS2019 WeChatFerry\WeChatFerry\WeChatFerry.sln.
    • Haga clic en "Generar" > "Generar solución", después de compilar la solución, puede encontrarla en la carpeta WeChatFerry\WeChatFerry\Out para generar el archivo sdk.dll.
    • tenga en cuentaSi se encuentra con protoc Error 9009, compruebe el entorno o la configuración de Python protoc (requiere que protobuf esté instalado).

3. Iniciar WeChat e inyectar

  • Preparar microsoftInstala una versión compatible de WeChat (por ejemplo, 3.9.10.27 o 3.9.11.25, consulta las versiones).
  • ejemplo de funcionamientoConsulte el código oficial de carga sdk.dll e inicializado:
    import ctypes  
    sdk = ctypes.cdll.LoadLibrary("C:/path/to/WeChatFerry/WeChatFerry/Out/sdk.dll")  
    sdk.WxInitSDK(False, 10086)  # 初始化,默认端口 10086
    
  • Salir del SDK: Ejecútalo cuando termines de usarlo. sdk.WxDestroySDK()El proceso Python se cerrará cuando esté listo para empezar y terminar.

Funciones principales

Mensajes

  • Enviar mensaje de texto::
    from wcferry import Wcf  
    wcf = Wcf()  
    wcf.send_text("你好", "wxid_xxxx")  # wxid_xxxx 为目标微信 ID
    
    • Apoyo @ alguien:wcf.send_text("你好 @Tom", "roomid_xxxx").
  • recibir un mensaje::
    wcf.enable_receiving_msgs()  # 开启接收  
    while True:  
    msg = wcf.get_msg()  
    if msg:  
    print(f"收到: {msg.content}")  
    wcf.disable_receiving_msgs()  # 停止接收
    

Integración de grandes modelos lingüísticos

  • Acceso a ChatGPT Ejemplo(Debe configurar la clave API usted mismo):
    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)
    

procesamiento multimedia

  • Enviar imagen::
    wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
    
  • Voz a MP3: Uso smc (es necesario compilarlo), defina el módulo .silk Documentación convertida a .mp3::
    from wcferry import smc  
    smc.silk_to_mp3("input.silk", "output.mp3")
    

Gestión de grupos de chat

  • Miembros invitados::
    wcf.invite_room_members("roomid_xxxx", ["wxid_user1", "wxid_user2"])
    
  • Obtener información del grupo::
    room_info = wcf.get_chatroom_info("roomid_xxxx")  
    print(room_info)
    

Ejemplo de flujo de operaciones

  1. Marco de lanzamiento: Recopilación sdk.dllSi desea utilizar un script de Python, ejecútelo para cargarlo e inicializarlo.
  2. Iniciar sesión en WeChat: Aplicación wcf.get_login_qrcode() Obtén el código QR y escanéalo para iniciar sesión.
  3. Características de configuración: Escriba scripts para la escucha de mensajes, la respuesta automática o la gestión de grupos.
  4. prueba de funcionamiento: Ejecute el script en la línea de comandos para comprobar que el comportamiento de microsoft es el esperado.
  5. Optimización de la depuraciónSi algo va mal, puedes añadir un registro de depuración en VS2019 (p. ej. DbgMsg("Test")), problemas de posicionamiento.

Cliente multilingüe

advertencia

  • La versión actual de WeChat es la 3.9.11.25, que puede provocar fallos de inyección.
  • El proyecto es sólo para fines de estudio e investigación y sigue la licencia del MIT.
  • En este momento no se admite la apertura múltiple, y requiere una sola instancia para funcionar.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...