일반 소개
위챗페리는 오픈 소스 위챗 로봇 기본 프레임워크로, 개발자 lich0821이 GitHub에서 만들고 유지 관리합니다. 이 프로젝트는 위챗 훅 기술을 통해 강력한 SDK 세트를 제공하여 개발자가 다양한 대형 언어 모델 (예 : ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire, Tigerbot 등) 통합, 자동화 된 작업 및 지능형 대화로 WeChat 기능을 사용할 수 있도록합니다. 핵심 모듈은 C++로 작성되었으며, 여러 클라이언트 언어(예: Python, Rust, Go, Java, Node.js, C# 등)를 지원하며, 특정 WeChat 버전(현재 3.9.11.25 지원)에 맞게 조정되었습니다. 유연성과 풍부한 기능을 갖춘 WeChatFerry는 별 5.5만 개와 포크 110만 개를 획득하며 WeChat 로봇 개발을 위한 인기 도구로 자리 잡았습니다.

기능 목록
- 메시지텍스트(@ 포함), 이미지, 파일, GIF 전송을 지원하며 메시지를 주고받을 수 있습니다.
- 대규모 언어 모델 통합지능형 응답 또는 작업 처리를 위해 ChatGPT, Gemini, DeepSeek, ChatGLM, Xunfei Starfire 등과 같은 모델에 액세스합니다.
- 그룹 채팅 관리: 그룹 멤버 초대 및 그룹 정보 가져오기 등의 작업을 지원합니다.
- 멀티미디어 처리이미지, 파일 다운로드, 이미지 해독, 음성 파일(실크)을 MP3로 변환 지원.
- 데이터베이스 액세스WeChat 연락처, 메시지 기록 등의 데이터를 조회할 수 있습니다.
- 로그인 상태 관리로그인 QR코드 가져오기, 로그인 상태 확인, 계정 정보(wxid, 닉네임, 휴대폰 번호 등) 가져오기 기능을 제공합니다.
- 다국어 클라이언트파이썬, 러스트, 고, 자바, 노드.js, C# 및 기타 언어로 클라이언트 측 개발을 지원합니다.
- 자동화된 작업고객 서비스, 교육 및 기타 시나리오를 위한 메시지 전달, 시간 제한 작업 등을 지원합니다.
도움말 사용
설치 프로세스
WeChatFerry의 사용은 핵심 모듈 컴파일(개발자용)과 클라이언트 측 설치(일반 사용자용)의 두 부분으로 나뉩니다. 자세한 단계는 다음과 같습니다:
1. 클라이언트 설치(예: Python)
- Python 환경 설치파이썬 3.10을 권장하며, python.org에서 다운로드하여 설치한 다음
pip
사용 가능. - wcferry 패키지 설치명령줄을 열고 실행합니다:
pip install --upgrade wcferry
- 설치 확인파이썬에서 실행
import wcferry
오류가 보고되지 않으면 성공한 것입니다.
2. 핵심 모듈 컴파일(개발자의 경우 선택 사항)
- 환경 준비하기::
- C++ 개발 구성 요소가 포함된 Visual Studio 2019(커뮤니티 에디션)를 설치합니다.
- 리포지토리 복제를 위해 Git을 설치합니다.
- 클론 창고::
git clone https://github.com/lich0821/WeChatFerry.git cd WeChatFerry
- 프로젝트 컴파일하기::
- VS2019로 열기
WeChatFerry\WeChatFerry\WeChatFerry.sln
. - "생성" > "솔루션 생성"을 클릭하면 솔루션을 컴파일한 후
WeChatFerry\WeChatFerry\Out
디렉터리를 생성하여sdk.dll
. - 다음 사항에 유의하십시오.다음과 같은 경우
protoc
오류 9009, Python 환경 또는 구성 확인protoc
환경 변수(프로토버프가 설치되어 있어야 함).
- VS2019로 열기
3. 위챗을 실행하고
- Microsoft 준비지원되는 WeChat 버전(예: 3.9.10.27 또는 3.9.11.25, 릴리스 참조)을 설치합니다.
- 실행 예제공식 코드 로딩 참조
sdk.dll
를 초기화합니다:import 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("你好", "wxid_xxxx") # wxid_xxxx 为目标微信 ID
- 누군가를 지원하세요:
wcf.send_text("你好 @Tom", "roomid_xxxx")
.
- 누군가를 지원하세요:
- 메시지 받기::
wcf.enable_receiving_msgs() # 开启接收 while True: msg = wcf.get_msg() if msg: print(f"收到: {msg.content}") wcf.disable_receiving_msgs() # 停止接收
대규모 언어 모델 통합
- ChatGPT 액세스 예시(API 키는 직접 구성해야 합니다):
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)
멀티미디어 처리
- 사진 보내기::
wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
- MP3로 음성 변환사용
smc
모듈(컴파일 필요)에서.silk
문서가 다음과 같이 변환되었습니다..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 코드를 받아 스캔하여 로그인하세요. - 구성 기능메시지 수신, 자동 응답 또는 그룹 관리를 위한 스크립트를 작성합니다.
- 운영 테스트명령줄에서 스크립트를 실행하여 Microsoft 동작이 예상대로 작동하는지 확인합니다.
- 디버깅 최적화문제가 발생하면 VS2019에서 디버그 로그를 추가할 수 있습니다(예
DbgMsg("Test")
), 포지셔닝 문제.
다국어 클라이언트 지원
- Rust사용 wcfrust.
- 이동참조 GO_WCF_HTTP.
- Java참조 자바 클라이언트 설명.
- Node.js사용 wcferry-node.
- C#참조 위챗페리-C샤프.
- Docker사용 도커_위챗.
주의
- 현재 WeChat의 버전은 3.9.11.25로, 주입 실패의 원인이 될 수 있습니다.
- 이 프로젝트는 학습 및 연구 목적으로만 사용되며 MIT 라이선스를 따릅니다.
- 현재 멀티오픈은 지원되지 않으며, 실행하려면 단일 인스턴스가 필요합니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...