WeChatFerry : un cadre entièrement fonctionnel pour le développement de robots WeChat
Introduction générale
WeChatFerry est un cadre sous-jacent de robot WeChat open source, créé et maintenu par le développeur lich0821 sur GitHub . Le projet à travers la technologie WeChat Hook , fournit un ensemble de SDK puissant , permettant aux développeurs de WeChat fonction avec une variété de grand modèle de langue ( comme ChatGPT , Gemini , DeepSeek , ChatGLM , Xunfei Starfire , Tigerbot , etc.) intégration , les tâches d'automatisation et de dialogue intelligent . Le module principal est écrit en C++, prend en charge de nombreux langages clients (par exemple Python, Rust, Go, Java, Node.js, C#, etc.) et est adapté aux versions spécifiques de WeChat (actuellement 3.9.11.25). Avec sa flexibilité et ses riches fonctionnalités, WeChatFerry a attiré 5,5k étoiles et 1,1k forks, ce qui en fait un outil populaire pour le développement de robots WeChat.

Liste des fonctions
- MessagesLe service de messagerie électronique est un outil de communication qui permet d'envoyer du texte (avec @), des images, des fichiers et des GIF, et d'écouter et de recevoir des messages.
- Intégration de grands modèles linguistiquesAccès à des modèles tels que ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire, etc. pour une réponse intelligente ou le traitement des tâches.
- Gestion des discussions de groupeLe groupe de travail : Il prend en charge des opérations telles que l'invitation de membres d'un groupe et l'obtention d'informations sur le groupe.
- traitement multimédiaLes services de téléchargement d'images et de fichiers, de décryptage d'images et de conversion de fichiers vocaux (Silk) en MP3 sont pris en charge.
- accès à la base de donnéesLes données telles que les contacts WeChat, les enregistrements de messages, etc. peuvent être interrogées.
- Gestion de l'état de connexionLe système d'information sur les comptes : il fournit des fonctions permettant d'obtenir le code QR de connexion, de vérifier l'état de la connexion, d'obtenir des informations sur le compte (wxid, surnom, numéro de téléphone mobile, etc.).
- Client multilingueLes services de développement côté client en Python, Rust, Go, Java, Node.js, C# et d'autres langages sont pris en charge.
- Tâches automatiséesLes services d'assistance à la clientèle, d'éducation et autres : ils prennent en charge le transfert de messages, les tâches programmées, etc.
Utiliser l'aide
Processus d'installation
L'utilisation de WeChatFerry se divise en deux parties : la compilation du module de base (pour les développeurs) et l'installation côté client (pour les utilisateurs normaux). Voici les étapes détaillées :
1. installation du client (en Python, par exemple)
- Installation de l'environnement PythonPython 3.10 est recommandé, téléchargez-le et installez-le à partir de python.org, et assurez-vous que la version de Python 3.10 est disponible.
pip
Disponible. - Installer le paquet wcferryPour cela, ouvrez la ligne de commande et lancez l'application :
pip install --upgrade wcferry
- Vérifier l'installationExécution en Python
import wcferry
Si aucune erreur n'est signalée, l'opération est réussie.
2. compilation du module de base (facultatif pour les développeurs)
- Préparation de l'environnement: :
- Installez Visual Studio 2019 (Community Edition), qui comprend des composants de développement C++.
- Installer Git pour cloner les dépôts.
- entrepôt de clones: :
git clone https://github.com/lich0821/WeChatFerry.git cd WeChatFerry
- Compilation des projets: :
- Ouvrir avec VS2019
WeChatFerry\WeChatFerry\WeChatFerry.sln
. - Cliquez sur "Generate" > "Generate Solution", après avoir compilé la solution, vous pouvez la trouver dans la section
WeChatFerry\WeChatFerry\Out
pour générer le fichiersdk.dll
. - prendre noteSi vous rencontrez
protoc
Erreur 9009, vérifier l'environnement ou la configuration de Pythonprotoc
(nécessite l'installation de protobuf).
- Ouvrir avec VS2019
3. lancer WeChat et injecter
- Préparer microsoftInstaller une version supportée de WeChat (par exemple 3.9.10.27 ou 3.9.11.25, voir Releases).
- exemple de fonctionnementLe code officiel pour le chargement : se référer au code officiel pour le chargement
sdk.dll
et initialisé :import ctypes sdk = ctypes.cdll.LoadLibrary("C:/path/to/WeChatFerry/WeChatFerry/Out/sdk.dll") sdk.WxInitSDK(False, 10086) # 初始化,默认端口 10086
- Quitter le SDKLe programme d'entretien de l'ordinateur : Exécutez-le lorsque vous avez fini de l'utiliser.
sdk.WxDestroySDK()
Le processus Python sera arrêté lorsque vous aurez terminé le processus et que le processus Python sera fermé.
Principales fonctions
Messages
- Envoyer un message texte: :
from wcferry import Wcf wcf = Wcf() wcf.send_text("你好", "wxid_xxxx") # wxid_xxxx 为目标微信 ID
- Soutenir @ quelqu'un :
wcf.send_text("你好 @Tom", "roomid_xxxx")
.
- Soutenir @ quelqu'un :
- recevoir un message: :
wcf.enable_receiving_msgs() # 开启接收 while True: msg = wcf.get_msg() if msg: print(f"收到: {msg.content}") wcf.disable_receiving_msgs() # 停止接收
Intégration de grands modèles linguistiques
- Accès à ChatGPT Exemple(Vous devez configurer la clé API vous-même) :
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)
traitement multimédia
- Envoyer une photo: :
wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
- Voix en MP3: Utilisation
smc
(compilation requise), définir le module.silk
Documentation convertie en.mp3
: :from wcferry import smc smc.silk_to_mp3("input.silk", "output.mp3")
Gestion des discussions de groupe
- Membres invités: :
wcf.invite_room_members("roomid_xxxx", ["wxid_user1", "wxid_user2"])
- Obtenir des informations sur le groupe: :
room_info = wcf.get_chatroom_info("roomid_xxxx") print(room_info)
Exemple de déroulement des opérations
- Cadre de lancementCompilation : Compilation
sdk.dll
Si vous souhaitez utiliser un script Python, exécutez le script Python pour le charger et l'initialiser. - Se connecter à WeChat: Mise en œuvre
wcf.get_login_qrcode()
Obtenez le code QR et scannez-le pour vous connecter. - Caractéristiques de la configurationLes services d'écoute de messages, de réponse automatique ou de gestion de groupes : Rédiger des scripts pour l'écoute de messages, la réponse automatique ou la gestion de groupes.
- test opérationnelLe script est exécuté en ligne de commande pour vérifier que le comportement de microsoft est conforme aux attentes.
- Débogage OptimisationSi quelque chose ne va pas, vous pouvez ajouter un journal de débogage dans VS2019 (par ex.
DbgMsg("Test")
), les questions de positionnement.
Prise en charge des clients multilingues
- Rouille: Utilisation wcfrust.
- Aller: Référence go_wcf_http.
- JavaVoir description du client java.
- Node.js: Utilisation nœud wcferry.
- C#: Référence WeChatFerry-CSharp.
- Docker: Utilisation docker_wechat.
mise en garde
- La version actuelle de WeChat est 3.9.11.25, ce qui peut entraîner un échec de l'injection.
- Le projet est destiné à des fins d'étude et de recherche uniquement et respecte la licence MIT.
- La multi-ouverture n'est pas prise en charge pour le moment et nécessite une seule instance pour fonctionner.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...