最新Python wxpy 操作微信 大全集

bot.file_helper

搜索聊天对象

.search()

搜索所有聊天对象

搜索名称含有 ‘wxpy’ 的任何聊天对象

found = bot.search(‘wxpy’)

[<Friend: wxpy 机器人>, <Group: wxpy 交流群1>, <Group: wxpy 交流群2>]

不包括群成员

搜索好友

搜索名称包含 ‘david’ 的广州男性好友

found = bot.friends().search(‘david’, sex=MALE, city=‘广州’)

[<Friend: david>]

确保搜索结果是唯一的,并取出唯一结果

david = ensure_one(found)

<Friend: david>

搜索群聊

搜索名称包含 ‘wxpy’,且成员中包含 david 的群聊对象

wxpy_groups = bot.groups().search(‘wxpy’, [david])

[<Group: wxpy 交流群 1>, <Group: wxpy 交流群 2>]

在群聊中搜索

在刚刚找到的第一个群中搜索

group = wxpy_groups[0]

搜索该群中所有广州的群友

found = group.search(province=‘广州’)

[<Member: 广州 群友1>, <Group: 广州 群友2>, <Group: 广州 群友3> …]

添加聊天对象

添加用户为好友

bot.add_friend(user, verify_content=‘’)

| 参数 | 说明 |

| :-- | :-- |

| user 或 user_name | 用户对象 |

| verify_content | 验证说明信息 |

添加/关注 公众号

bot.add_mp(user)

| 参数 | 说明 |

| :-- | :-- |

| user 或 user_name | 公众号对象 |

接受用户为好友

bot.accept_friend(user, verify_content=‘’)

| 参数 | 说明 |

| :-- | :-- |

| user 或 user_name | 用户对象 |

| verify_content | 验证说明信息 |

返回:新的好友对象

返回类型:wxpy.Friend

其他属性

.mark_as_read()

消除当前聊天对象的未读提示小红点

.pin()

将聊天对象置顶

.unpin()

取消聊天对象的置顶状态

.get_avatar(save_path=None)

获取头像

参数: save_path – 保存路径(后缀通常为.jpg),若为 None 则返回字节数据

.uin

微信中的聊天对象ID,固定且唯一

因微信的隐私策略,该属性有时无法被获取到

建议使用 puid 作为用户的唯一 ID

.alias

若用户进行过一次性的 “设置微信号” 操作,则该值为用户设置的”微信号”,固定且唯一

因微信的隐私策略,该属性有时无法被获取到

建议使用 puid 作为用户的唯一 ID

.wxid

聊天对象的微信ID (实际为 .alias 或 .uin)

因微信的隐私策略,该属性有时无法被获取到

建议使用 puid 作为用户的唯一 ID

.user_name

该聊天对象的内部 ID,通常不需要用到

注意:同个聊天对象在不同用户中,此 ID 不一致 ,且可能在新会话中 被改变!

发送消息


.send(content=None, media_id=None)

动态发送不同类型的消息,具体类型取决于 content 的前缀

| 参数 | 说明 |

| :-- | :-- |

| content | 由 前缀 和 内容 两个部分组成,若 省略前缀,将作为纯文本消息发送

前缀 部分可为: @fil@: 文件,@img@: 图片,@msg@: 纯文本,@vid@: 视频

内容 部分可为: 文件、图片、视频的路径,或纯文本的内容 |

| media_id | 填写后可省略上传过程 |

返回类型:wxpy.SentMessage

发送文本

.send_msg(msg=None)

| 参数 | 说明 |

| :-- | :-- |

| msg | 文本内容 |

发送图片

.send_image(path, media_id=None)

| 参数 | 说明 |

| :-- | :-- |

| path | 文件路径 |

| media_id | 设置后可省略上传过程 |

发送视频

.send_video(path=None, media_id=None)

| 参数 | 说明 |

| :-- | :-- |

| path | 文件路径 |

| media_id | 设置后可省略上传过程 |

发送文件

my_friend.send_file(path, media_id=None)

| 参数 | 说明 |

| :-- | :-- |

| path | 文件路径 |

| media_id | 设置后可省略上传过程 |

以原始格式发送其他类型消息

send_raw_msg(raw_type, raw_content, uri=None, msg_ext=None)

| 参数 | 说明 |

| :-- | :-- |

| raw_type: int | 原始的整数消息类型 |

| raw_content: str | 原始的消息内容 |

| uri: str | 请求路径,默认为 ‘/webwxsendmsg’ |

| msg_ext: dict | 消息的扩展属性 (会被更新到 Msg 键中) |

处理消息


注册函数

可通过预先注册的方式,实现消息的自动处理。

预先将特定聊天对象的特定类型消息,注册到对应的处理函数,以实现自动回复等功能。

每当收到新消息时,将根据注册规则找到匹配条件的执行函数。并将消息对象作为唯一参数传入该函数。

将 bot.register() 作为函数的装饰器,即可完成注册。

bot.register(chats=None, msg_types=None, except_self=True, run_async=True, enabled=True

其中msg_types参数,是指定接收消息的类型,wxpy中支持以下消息类型:

| 值 | 描述 |

| :-- | :-- |

| TEXT 或 ‘Text’ | 文本 |

| MAP 或 ‘Map’ | 位置 |

| CARD 或 ‘Card’ | 名片 |

| NOTE 或 ‘Note’ | 提示 |

| SHARING 或 ‘Sharing’ | 分享 |

| PICTURE 或 ‘Picture’ | 图片 |

| RECORDING 或 ‘Recording’ | 语音 |

| ATTACHMENT 或 ‘Attachment’ | 文件 |

| VIDEO 或 ‘Video’ | 视频 |

| FRIENDS 或 ‘Friends’ | 好友请求 |

| SYSTEM 或 ‘System’ | 系统 |

其他参数

| 参数 | 描述 |

| :-- | :-- |

| chats | 消息所在的聊天对象:单个或列表形式的多个聊天对象或聊天类型,为空时匹配所有聊天对象;

既可以是聊天对象实例,也可以是对象类。当为类时,表示匹配该类型的所有聊天对象。 |

| msg_types | 消息的类型:单个或列表形式的多个消息类型,为空时匹配所有消息类型 (SYSTEM 类消息除外) |

| except_self | 排除由自己发送的消息 |

| run_async | 是否异步执行所配置的函数:可提高响应速度 |

| enabled | 当前配置的默认开启状态,可事后动态开启或关闭 |

在被注册函数中,可以通过直接 return <回复内容> 的方式来回复消息,等同于调用 msg.reply(<回复内容>)。

Message 消息对象

每当机器人接收到消息时,会自动执行以下两个步骤:

1.将消息保存到 Bot.messages 中

2.查找消息预先注册的函数,并执行(若有匹配的函数)

基本属性

消息的类型

Message.type

返回消息的类型:str

机器人对象

Message.bot

接收此消息的机器人对象

消息的唯一 ID

Message.id

(通常为大于 0 的 64 位整型)

内容数据

消息的文本内容

Message.text

下载图片、视频、语音、附件消息中的文件内容

可与 Message.file_name 配合使用

参数: save_path – 文件的保存路径。若为 None,将直接返回字节数据

Message.get_file(save_path=None)

消息中文件的文件名

Message.file_name

消息中文件的体积大小

Message.file_size

文件类消息中的文件资源 ID (但图片视频语音等其他消息中为空)

Message.media_id

原始数据 (dict 数据

)Message.raw

用户相关

Message.chat

消息所在的聊天会话

对于自己发送的消息,为消息的接收者

对于别人发送的消息,为消息的发送者

返回类型:wxpy.User, wxpy.Group

Message.sender

消息的发送者

返回类型: wxpy.User, wxpy.Group

Message.receiver

消息的接收者

返回类型:wxpy.User, wxpy.Group

Message.member

消息的实际发送人

若消息来自群聊,则此属性为消息的实际发送人(具体的群成员)

若消息来自其他聊天对象(非群聊),则此属性为 None# 返回类型:NoneType, wxpy.Member

Message.card

#好友请求中的请求用户

#名片消息中的推荐用户

群聊相关

Message.member

发送人

若消息来自群聊,则此属性为消息的实际发送人(具体的群成员)

若消息来自其他聊天对象(非群聊),则此属性为 None

返回类型: NoneType,wxpy.Member

Message.is_at

是否被 @

当消息来自群聊,且被 @ 时,为 True

时间相关

服务端发送时间

Message.create_time

本地接收时间

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值