はじめに
WeChatFerryは、オープンソースのWeChatロボットの基礎となるフレームワークであり、開発者lich0821によって作成され、GitHub上で維持されています。WeChatのフック技術を通じてプロジェクトは、強力なSDKのセットを提供し、開発者は、大規模な言語モデル(ChatGPT、Gemini、DeepSeek、ChatGLM、Xunfeiスターファイア、Tigerbotなど)の統合、自動化タスクとインテリジェントな対話の様々なWeChat関数にできるようにします。コアモジュールはC++で書かれており、複数のクライアント言語(Python、Rust、Go、Java、Node.js、C#など)をサポートし、特定のWeChatバージョン(現在3.9.11.25をサポート)に適応しています。その柔軟性と豊富な機能で、WeChatFerryは5.5kのスターと1.1kのフォークを集め、WeChatロボット開発のための人気ツールとなっている。
機能一覧
- メッセージテキスト(@付き)、画像、ファイル、GIFの送信が可能。
- 大規模言語モデルの統合ChatGPT、Gemini、DeepSeek、ChatGLM、Xunfei Starfireなどのモデルにアクセスし、インテリジェントな返信やタスク処理を行うことができます。
- グループチャット管理グループメンバーの招待やグループ情報の取得などの操作をサポートします。
- マルチメディア処理画像、ファイルのダウンロード、画像の復号化、音声ファイル(Silk)のMP3への変換をサポート。
- データベースアクセスWeChatの連絡先、メッセージ記録などのデータを照会することができます。
- ログイン状況管理ログインQRコードの取得、ログイン状態の確認、アカウント情報(wxid、ニックネーム、携帯電話番号など)の取得機能を提供します。
- 多言語クライアントPython、Rust、Go、Java、Node.js、C#、その他の言語でのクライアントサイド開発をサポートします。
- 自動化されたタスクメッセージ転送、時間指定タスクなど、カスタマーサービス、教育、その他のシナリオをサポートします。
ヘルプの使用
設置プロセス
WeChatFerryの使用は、コアモジュールのコンパイル(開発者向け)とクライアントサイドのインストール(一般ユーザー向け)の2つの部分に分かれています。以下はその詳細な手順です:
1.クライアントのインストール(Pythonなど)
- Python環境のインストールPython 3.10が推奨されています。python.orgからダウンロードしてインストールしてください。
ピップ
利用できる。 - wcferryパッケージをインストールするコマンドラインを開き、実行する:
pip install --upgrade wcferry
- インストールの確認Pythonで実行
インポート wcferry
エラーが報告されなければ成功である。
2.コアモジュールのコンパイル(開発者はオプション)
- 環境を整える::
- C++開発コンポーネントを含むVisual Studio 2019(Community Edition)をインストールする。
- リポジトリを複製するためにGitをインストールする。
- クローン倉庫::
git clone https://github.com/lich0821/WeChatFerry.git cd WeChatFerry
- プロジェクトのコンパイル::
- VS2019で開く
WeChatFerry
. - Generate">"GenerateSolution "をクリックし、ソリューションをコンパイルした後、それを
WeChatFerry Out
ディレクトリにsdk.dll
. - 銘記するもし
プロトック
エラー 9009, Python の環境または設定を確認してください。プロトック
環境変数(protobufがインストールされている必要がある)。
- VS2019で開く
3.WeChatを起動してインジェクトする
- マイクロソフトの準備WeChat のサポートされているバージョン(例:3.9.10.27 または 3.9.11.25、リリースを参照)をインストールしてください。
- 実行例公式コードロードを参照
sdk.dll
と初期化される:インポート 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("Hello", "wxid_xxxx") # wxid_xxxxはターゲットのWeChat IDです。
- サポート@誰か
wcf.send_text("Hello @Tom", "roomid_xxxx")
.
- サポート@誰か
- メッセージを受け取る::
wcf.enable_receiving_msgs() # 受信を有効にする while True: msg = wcf.get_msg() msg = wcf.get_msg() msg = wcf.get_msg() print(f "受信: {msg.content}") wcf.disable_receiving_msgs() #受信停止
大規模言語モデルの統合
- ChatGPTへのアクセス例(APIキーは自分で設定する必要があります):
from wcferry import Wcf インポート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: wcf.enable_receiving_msgs() msg = wcf.get_msg() if msg. chatgpt_reply(msg)
マルチメディア処理
- 写真を送る::
wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
- スピーチからMP3へ使用
エスエムシー
モジュール(コンパイルが必要)にシルク
に変換されたドキュメント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)
運用フロー例
- ローンチ・フレームワークコンピレーション
sdk.dll
Pythonスクリプトを使用する場合は、Pythonスクリプトを実行してロードし、初期化する。 - WeChatにログイン実施
wcf.get_login_qrcode()
QRコードを入手し、スキャンしてログインする。 - コンフィギュレーション機能メッセージのリスニング、自動返信、グループ管理などのスクリプトを作成します。
- 動作試験コマンドラインでスクリプトを実行し、マイクロソフトの動作が期待通りであることを確認する。
- デバッグの最適化何か問題が発生した場合は、VS2019 でデバッグ・ログを追加することができます。
DbgMsg("テスト")
)、ポジショニングの問題。
多言語クライアント対応
- さび使用 ウクフラスト.
- 行く参考 go_wcf_http.
- ジャワ参照 Javaクライアントの説明.
- Node.js使用 ウェッフェリーノード.
- C#参考 WeChatFerry-Cシャープ.
- ドッカー使用 docker_wechat.
ほら
- WeChatの現在のバージョンは3.9.11.25であり、インジェクションに失敗する可能性がある。
- このプロジェクトは学習と研究のみを目的とし、MITライセンスに準拠しています。
- マルチオープンは現時点ではサポートされておらず、単一のインスタンスで実行する必要がある。