AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

WeChatFerry: Ein voll funktionsfähiges Framework für die Entwicklung von WeChat-Robotern

Allgemeine Einführung

WeChatFerry ist ein Open-Source-WeChat-Roboter-Framework, das vom Entwickler lich0821 auf GitHub erstellt und gepflegt wird. Das Projekt durch die WeChat Hook-Technologie, bietet eine Reihe von leistungsfähigen SDK, so dass Entwickler zu WeChat Funktion mit einer Vielzahl von großen Sprachmodell (wie ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire, Tigerbot, etc.) Integration, automatisierte Aufgaben und intelligenten Dialog. Das Kernmodul ist in C++ geschrieben, unterstützt mehrere Client-Sprachen (z.B. Python, Rust, Go, Java, Node.js, C#, etc.) und ist an bestimmte WeChat-Versionen angepasst (unterstützt derzeit 3.9.11.25). Mit seiner Flexibilität und seinen umfangreichen Funktionen hat WeChatFerry 5,5k Sterne und 1,1k Forks erhalten, was es zu einem beliebten Tool für die Entwicklung von WeChat-Robotern macht.

WeChatFerry: Derzeit Integration des WeChat Bot-Entwicklungs-Frameworks mit mehr Funktionen-1


 

Funktionsliste

  • NachrichtenUnterstützt das Senden von Text (mit @), Bildern, Dateien, GIFs und kann Nachrichten abhören und empfangen.
  • Integration großer SprachmodelleZugang zu Modellen wie ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire, usw. für intelligente Antworten oder Aufgabenbearbeitung.
  • Gruppenchat-ManagementUnterstützt Vorgänge wie das Einladen von Gruppenmitgliedern und das Abrufen von Gruppeninformationen.
  • Multimedia-VerarbeitungUnterstützung für das Herunterladen von Bildern und Dateien, die Entschlüsselung von Bildern und die Umwandlung von Sprachdateien (Silk) in MP3.
  • DatenbankzugriffDaten wie WeChat-Kontakte, Nachrichtensätze usw. können abgefragt werden.
  • Verwaltung des AnmeldestatusFunktionen zum Abrufen des QR-Codes für die Anmeldung, zum Überprüfen des Anmeldestatus und zum Abrufen von Kontoinformationen (wxid, Spitzname, Mobiltelefonnummer usw.).
  • Mehrsprachiger ClientUnterstützung für die clientseitige Entwicklung in Python, Rust, Go, Java, Node.js, C# und anderen Sprachen.
  • Automatisierte AufgabenUnterstützung von Nachrichtenweiterleitung, zeitgesteuerten Aufgaben usw. für Kundendienst, Ausbildung und andere Szenarien.

 

Hilfe verwenden

Einbauverfahren

Die Verwendung von WeChatFerry ist in zwei Teile unterteilt: Kompilierung des Kernmoduls (für Entwickler) und clientseitige Installation (für normale Benutzer). Nachfolgend finden Sie die detaillierten Schritte:

1. die Client-Installation (z. B. in Python)

  • Installieren der Python-UmgebungPython 3.10 wird empfohlen, laden Sie es von python.org herunter und installieren Sie es, und stellen Sie sicher, dass die pip Verfügbar.
  • Installieren Sie das wcferry-Paket: Öffnen Sie die Befehlszeile und führen Sie aus:
    pip install --upgrade wcferry
  • Überprüfen der Installation: Ausführen in Python import wcferryWenn kein Fehler gemeldet wird, ist der Vorgang erfolgreich.

2. die Kompilierung von Kernmodulen (optional für Entwickler)

  • Vorbereiten der Umgebung::
    • Installieren Sie Visual Studio 2019 (Community Edition), das C++-Entwicklungskomponenten enthält.
    • Installieren Sie Git zum Klonen von Repositories.
  • Klon-Lager::
    git clone https://github.com/lich0821/WeChatFerry.git  
    cd WeChatFerry
    
  • Kompilieren von Projekten::
    • Öffnen mit VS2019 WeChatFerry\WeChatFerry\WeChatFerry.sln.
    • Klicken Sie auf "Generate" > "Generate Solution", nachdem Sie die Lösung kompiliert haben, finden Sie sie im Ordner WeChatFerry\WeChatFerry\Out Verzeichnis, um die sdk.dll.
    • zur Kenntnis nehmenWenn Sie auf protoc Fehler 9009, Python-Umgebung oder Konfiguration prüfen protoc Umgebungsvariable (erfordert die Installation von protobuf).

3) WeChat starten und injizieren

  • Microsoft vorbereitenInstallieren Sie eine unterstützte Version von WeChat (z. B. 3.9.10.27 oder 3.9.11.25, siehe Releases).
  • laufendes Beispiel: Beziehen Sie sich auf den offiziellen Code Loading sdk.dll und initialisiert:
    import ctypes  
    sdk = ctypes.cdll.LoadLibrary("C:/path/to/WeChatFerry/WeChatFerry/Out/sdk.dll")  
    sdk.WxInitSDK(False, 10086)  # 初始化,默认端口 10086
    
  • Beenden des SDK: Beenden Sie es, wenn Sie es nicht mehr benötigen. sdk.WxDestroySDK()Der Python-Prozess wird heruntergefahren, wenn er bereit ist zu starten und zu beenden.

Hauptfunktionen

Nachrichten

  • Textnachricht senden::
    from wcferry import Wcf  
    wcf = Wcf()  
    wcf.send_text("你好", "wxid_xxxx")  # wxid_xxxx 为目标微信 ID
    
    • Unterstützung @ jemand:wcf.send_text("你好 @Tom", "roomid_xxxx").
  • eine Nachricht erhalten::
    wcf.enable_receiving_msgs()  # 开启接收  
    while True:  
    msg = wcf.get_msg()  
    if msg:  
    print(f"收到: {msg.content}")  
    wcf.disable_receiving_msgs()  # 停止接收
    

Integration großer Sprachmodelle

  • Zugang zu ChatGPT Beispiel(Sie müssen den API-Schlüssel selbst konfigurieren):
    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)
    

Multimedia-Verarbeitung

  • Bild senden::
    wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
    
  • Sprache zu MP3: Verwendung smc Modul (Kompilierung erforderlich), setzen Sie die .silk Dokumentation umgewandelt in .mp3::
    from wcferry import smc  
    smc.silk_to_mp3("input.silk", "output.mp3")
    

Gruppenchat-Management

  • Eingeladene Mitglieder::
    wcf.invite_room_members("roomid_xxxx", ["wxid_user1", "wxid_user2"])
    
  • Gruppeninformationen abrufen::
    room_info = wcf.get_chatroom_info("roomid_xxxx")  
    print(room_info)
    

Beispiel für den Betriebsablauf

  1. Rahmenwerk starten: Zusammenstellung sdk.dllWenn Sie ein Python-Skript verwenden möchten, führen Sie das Python-Skript aus, um es zu laden und zu initialisieren.
  2. Bei WeChat anmelden: Umsetzung wcf.get_login_qrcode() Holen Sie sich den QR-Code und scannen Sie ihn, um sich anzumelden.
  3. Merkmale der KonfigurationSchreiben von Skripten zum Abhören von Nachrichten, zur automatischen Beantwortung oder zur Gruppenverwaltung.
  4. Einsatzprüfung: Führen Sie das Skript in der Befehlszeile aus, um zu überprüfen, ob das Verhalten von Microsoft den Erwartungen entspricht.
  5. Optimierung der FehlersucheWenn etwas schief geht, können Sie ein Debug-Protokoll in VS2019 hinzufügen (z. B. DbgMsg("Test")), Fragen der Positionierung.

Mehrsprachige Client-Unterstützung

caveat

  • Die aktuelle Version von WeChat ist 3.9.11.25, was zu einem Injektionsfehler führen kann.
  • Das Projekt ist nur für Studien- und Forschungszwecke bestimmt und unterliegt der MIT-Lizenz.
  • Mehrfaches Öffnen wird derzeit nicht unterstützt und erfordert die Ausführung einer einzigen Instanz.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " WeChatFerry: Ein voll funktionsfähiges Framework für die Entwicklung von WeChat-Robotern
de_DEDeutsch