跳到主要内容

消息对象

有关消息对象的更多内容,可点击查看【消息对象

消息对象指的是GetAllMessageGetListenMessage等所有有关获取消息的方法返回的列表内的对象元素,后续文档内不再重复定义

msgs = wx.GetAllMessage()
msg = msgs[-1] # 以最后一条消息作为消息对象,命名为msg,后续文档内不再重复定义

2.1 FriendMessage新增add_friend方法

参数类型默认值说明
addmsgstrNone添加好友的消息,不填则微信默认
remarkstrNone备注名,不填则无
tagslistNone标签列表,不填则无
permissionstr'朋友圈'朋友圈权限, 可选值:'朋友圈', '仅聊天'

用于支持通过群消息快捷申请好友,以下代码即可发起好友请求

if msg.type == 'friend':     # 仅当消息类型为friend时可用该方法
msg.add_friend()

2.2 quote方法添加at参数

参数类型默认值说明
msgstr/要发送的消息内容
atstr | listNone要@的人的昵称或微信号,单人str多人list

用于在引用消息的同时,@指定人员

if msg.type in ['friend', 'self']:       # 仅当消息类型为friend或者self时可用该方法
msg.quote('xxx', at=['张三', '李四'])

2.3 通过消息对象获取好友(群好友)信息sender_info方法

from wxautox import WeChat

wx = WeChat()
msgs = wx.GetAllMessage()

# 获取最后一条消息,假设为好友发来的消息
msg = msgs[-1]

# 仅消息类型为`friend`的才有该方法
if msg.type == 'friend':
sender_info = msg.sender_info()

# {
# 'nickname': '张三',
# 'id': '123456',
# 'remark': '同事张三',
# 'tags': '同事',
# 'source': '通过扫一扫添加',
# 'signature': '张三的个性签名'
# }
参数名说明
nickname昵称
id消息的ui控件提取到的runtimeid,唯一,不用可忽略
remark备注
tags标签
source来源
signature个性签名

2.4 通过消息对象获取当前聊天页面详情details属性

... # 省略msg对象的获取过程

print(msg.details)
# {
# 'id': '428532284143281',
# 'type': 'friend',
# 'sender': '张三',
# 'content': '哈哈哈',
# 'sender_remark': '同事张三',
# 'chat_type': 'group',
# 'chat_name': '工作群',
# 'group_member_count': 54
# }
参数名说明
id消息的ui控件提取到的runtimeid,唯一,不用可忽略
type消息类型,friend其他人发的消息、time时间消息、sys系统消息、self自己发的消息
sender消息发送人的昵称
content消息内容
sender_remark消息发送人的备注,没有则为None
chat_type聊天类型,group为群聊、friend为好友聊天、official为公众号
chat_name当天聊天对象名,群名或好友名...
group_member_count群聊人数,如果是群消息则有该参数

2.5 解析卡片链接parse_url方法(20241211新增)