위챗페리: 위챗 로봇 개발을 위한 모든 기능을 갖춘 프레임워크

최신 AI 리소스6개월 전 업데이트 AI 공유 서클
13.3K 00

일반 소개

위챗페리는 오픈 소스 위챗 로봇 기본 프레임워크로, 개발자 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 로봇 개발을 위한 인기 도구로 자리 잡았습니다.

WeChatFerry:功能全面的微信机器人开发框架

 

기능 목록

  • 메시지텍스트(@ 포함), 이미지, 파일, 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 환경 변수(프로토버프가 설치되어 있어야 함).

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)
    

작업 흐름의 예

  1. 프레임워크 시작편집 : 편집 sdk.dllPython 스크립트를 사용하려면 Python 스크립트를 실행하여 로드하고 초기화합니다.
  2. WeChat에 로그인: 구현 wcf.get_login_qrcode() QR 코드를 받아 스캔하여 로그인하세요.
  3. 구성 기능메시지 수신, 자동 응답 또는 그룹 관리를 위한 스크립트를 작성합니다.
  4. 운영 테스트명령줄에서 스크립트를 실행하여 Microsoft 동작이 예상대로 작동하는지 확인합니다.
  5. 디버깅 최적화문제가 발생하면 VS2019에서 디버그 로그를 추가할 수 있습니다(예 DbgMsg("Test")), 포지셔닝 문제.

다국어 클라이언트 지원

주의

  • 현재 WeChat의 버전은 3.9.11.25로, 주입 실패의 원인이 될 수 있습니다.
  • 이 프로젝트는 학습 및 연구 목적으로만 사용되며 MIT 라이선스를 따릅니다.
  • 현재 멀티오픈은 지원되지 않으며, 실행하려면 단일 인스턴스가 필요합니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...