[<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
消息所在的聊天会话
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024c 备注Python获取(资料价值较高,非无偿)
711576368593)]
[外链图片转存中…(img-vhR5AaLk-1711576368594)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024c 备注Python获取(资料价值较高,非无偿)
[外链图片转存中…(img-8eKBfq6j-1711576368595)]