网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
| 参数 | 说明 |
| :-- | :-- |
| update | 是否更新 |
返回:聊天对象合集
返回类型:wxpy.Chats
其他对象
bot.self
bot.file_helper
搜索聊天对象
.search()
搜索所有聊天对象
found = bot.search(‘wxpy’)
不包括群成员
搜索好友
found = bot.friends().search(‘david’, sex=MALE, city=‘广州’)
david = ensure_one(found)
搜索群聊
wxpy_groups = bot.groups().search(‘wxpy’, [david])
在群聊中搜索
group = wxpy_groups[0]
found = group.search(province=‘广州’)
添加聊天对象
添加用户为好友
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)
.uin
.alias
.wxid
.user_name
发送消息
.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.get_file(save_path=None)
Message.file_name
Message.file_size
Message.media_id
)Message.raw
用户相关
Message.chat
Message.sender
Message.receiver
Message.member
Message.card
#好友请求中的请求用户
#名片消息中的推荐用户
群聊相关
Message.member
Message.is_at
时间相关
Message.create_time
Message.receive_time
Message.latency
不同类型消息
图片、视频、语音
Message.img_height
Message.img_width
Message.play_length
Message.voice_length
文章
Message.url
Message.articles
其中,每篇文章均有以下属性
| 属性 | 说明 |
| :-- | :-- |
| title | 标题 |
| summary | 摘要 |
| url | 文章 URL |
| cover | 封面或缩略图 URL |
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取