WeChatFerry: un marco totalmente funcional para el desarrollo de robots WeChat
Últimos recursos sobre IAActualizado hace 6 meses Círculo de intercambio de inteligencia artificial 13.3K 00
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.

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 wcferry
Si 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 archivosdk.dll
. - tenga en cuentaSi se encuentra con
protoc
Error 9009, compruebe el entorno o la configuración de Pythonprotoc
(requiere que protobuf esté instalado).
- Abrir con VS2019
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")
.
- Apoyo @ alguien:
- 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
- Marco de lanzamiento: Recopilación
sdk.dll
Si desea utilizar un script de Python, ejecútelo para cargarlo e inicializarlo. - Iniciar sesión en WeChat: Aplicación
wcf.get_login_qrcode()
Obtén el código QR y escanéalo para iniciar sesión. - Características de configuración: Escriba scripts para la escucha de mensajes, la respuesta automática o la gestión de grupos.
- prueba de funcionamiento: Ejecute el script en la línea de comandos para comprobar que el comportamiento de microsoft es el esperado.
- 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
- Óxido: Uso wcfrust.
- Vaya a: Referencia go_wcf_http.
- JavaVéase descripción del cliente java.
- Node.js: Uso wcferry-node.
- C#: Referencia WeChatFerry-CSharp.
- Docker: Uso docker_wechat.
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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...