Giter VIP home page Giter VIP logo

wechatpcapi's Introduction

WechatPCAPI

微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。可用于二次开发在线微信机器人、微信消息监控、群控软件、开发界面作多个微信控制软件等用途。

当前版本:@钊@

如果帮到你,帮我点个star。 遇到问题可以提Issues,或关注公众号“燕幕自安”联系我。

功能列表

目前支持:

  1. 微信多开
  2. 获取好友、群、公众号列表
  3. 接收消息(包括好友、群、公众号消息)
  4. 发送消息(支持文本、图片、分享链接、文件、名片等格式)

待完成:

  1. 公众号关注
  2. 群控功能(建群、拉人进群、退群、踢人、@某人、发布群公告等功能)
  3. 加好友、删好友
  4. 反消息撤回等

怎么用?

目前提供pyd和依赖的相关文件,通过python直接import即可使用,目录里的test.py即是调用示例。如下:

from WechatPCAPI import WechatPCAPI
import time


# 接收消息的回调函数,可自行定义
def on_message(message):
    print(message)


def main():
    # 初始化wx实例
    wx_inst = WechatPCAPI(on_message=on_message)

    # 启动微信 目前仅支持微信V2.7.1.82
    wx_inst.start_wechat(block=True)

    # 等待登陆成功,此时需要人为扫码登录微信
    while not wx_inst.get_myself():
        time.sleep(5)

    # 登录成功了
    print(wx_inst.get_myself())

    # 以下尝试发送各类消息给文件传输助手,可以换成任何人的wx_id
    wx_inst.send_text(to_user='filehelper', msg='777888999')
    wx_inst.send_link_card(
        to_user='filehelper',
        title='我的博客',
        desc='我的博客,红领巾技术分享网站',
        target_url='http://www.honglingjin.online/',
        img_url=''
    )
    wx_inst.send_img(to_user='filehelper', img_abspath=r'C:\Users\Leon\Pictures\1.jpg')
    wx_inst.send_file(to_user='filehelper', file_abspath=r'C:\Users\Leon\Desktop\1.txt')
    wx_inst.send_gif(to_user='filehelper', gif_abspath=r'C:\Users\Leon\Desktop\08.gif')
    wx_inst.send_card(to_user='filehelper', wx_id=wx_inst.wx_id)

    time.sleep(10)
    # 更新所有好友信息,数据会通过上面的回调函数返回
    wx_inst.update_frinds()


if __name__ == '__main__':
    main()

环境支持情况

windows 7/10 测试通过

python 3.7.4 理论上支持python3.6以后所有版本

微信版本 目前仅支持V2.7.1.82版本,后续会考虑兼容其他版本,目录包里有该微信版本,直接下载安装即可。

国内下载慢?

下载慢的话用百度网盘分享:
链接:https://pan.baidu.com/s/1yADEwqht8hcTTjxpkW8DXw 
提取码:rneo 

函数文档注释

不知道怎么调用的话,可以使用help(类名)查看函数文档,如下:

Help on class WechatPCAPI in module WechatPCAPI:

class WechatPCAPI(builtins.object)
 |  WechatPCAPI(on_message=None, on_wx_exit_handle=None, log=None)
 |
 |  微信PC版的API接口--当前版本:@钊@
 |
 |  Methods defined here:
 |
 |  __init__(self, on_message=None, on_wx_exit_handle=None, log=None)
 |      类初始化函数
 |      :param on_message: 收到微信消息时的回调函数
 |      :param on_wx_exit_handle: 微信退出的回调函数,可空
 |      :param log: 日志句柄
 |
 |  get_myself(self)
 |      获取我的信息,即所登录账号的信息
 |      :return: 尚未登陆成功时为None, 登陆成功后为dict格式返回
 |
 |  send_card(self, to_user, wx_id)
 |      发送名片
 |      :param to_user: 发给谁(wx_id)
 |      :param wx_id: 要发送谁的名片(wx_id)
 |      :return: 无
 |
 |  send_file(self, to_user, file_abspath)
 |      发送文件
 |      :param to_user: 发给谁(wx_id)
 |      :param file_abspath: 文件在本地的绝对路径
 |      :return: 无
 |
 |  send_gif(self, to_user, gif_abspath)
 |      发送gif表情
 |      :param to_user: 发给谁(wx_id)
 |      :param gif_abspath: gif在本地的绝对路径
 |      :return: 无
 |
 |  send_img(self, to_user, img_abspath)
 |      发送图片
 |      :param to_user: 发给谁(wx_id)
 |      :param img_abspath: 图片在本地的绝对路径
 |      :return: 无
 |
 |  send_link_card(self, to_user, title, desc, target_url, img_url='')
 |      发送链接分享
 |      :param to_user: 发给谁(wx_id)
 |      :param title: 链接标题
 |      :param desc: 链接描述
 |      :param target_url: 链接URL
 |      :param img_url: 显示图片的URL
 |      :return: 无
 |
 |  send_text(self, to_user, msg)
 |      发送文本消息
 |      :param to_user: 发给谁(wx_id)
 |      :param msg: 文本消息内容
 |      :return: 无
 |
 |  start_wechat(self, block=True)
 |      启动微信,目前仅支持微信版本v2.7.1.82
 |      :param block: 是否阻塞,默认阻塞
 |      :return: 无
 |
 |  update_frinds(self)
 |      :return: 无
 |
 |  ----------------------------------------------------------------------

联系我

关注微信公众号“燕幕自安”,即可获取我的联系方式。

赞赏我

支持作者继续更新,请我喝杯咖啡

声明

本项目仅供技术研究,请勿用于非法用途,如有任何人凭此做何非法事情,均于作者无关,特此声明。

wechatpcapi's People

Contributors

mocha-l avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.