Message 简单来说就是消息,在微信中聊天的文字,转账,语音等等都是消息的一种,因此是最重要的一项
# 消息类型
class MessageType(betterproto.Enum):
MESSAGE_TYPE_UNSPECIFIED = 0
MESSAGE_TYPE_ATTACHMENT = 1
MESSAGE_TYPE_AUDIO = 2
MESSAGE_TYPE_CONTACT = 3
MESSAGE_TYPE_EMOTICON = 4
MESSAGE_TYPE_IMAGE = 5 图像
MESSAGE_TYPE_TEXT = 6 文字
MESSAGE_TYPE_VIDEO = 7
MESSAGE_TYPE_CHAT_HISTORY = 8
MESSAGE_TYPE_LOCATION = 9
MESSAGE_TYPE_MINI_PROGRAM = 10
MESSAGE_TYPE_TRANSFER = 11
MESSAGE_TYPE_RED_ENVELOPE = 12
MESSAGE_TYPE_RECALLED = 13
MESSAGE_TYPE_URL = 14
常用说明:
- type 消息类型,具体类型参考上述
print(msg.type())
- text 接受的文本信息
print(msg.text())
- say 回复信息,不仅文本消息,图片等都可以发送
await msg.say(msg.text())
发送图片
from wechaty import (FileBox)
file_box = FileBox.from_url('https://wechaty.js.org/img/icon.png', name='ding-dong.jpg')
await msg.say(file_box)
- talker 发送者
print(msg.talker())
- is_self -> bool 判断是否自己发出的消息
if msg.is_self() is False:
- room -> [Room,None] 获取当前消息所在的微信群,如果不存在返回None
msg.room()
###Room 微信群,可实现自动邀请进群,踢群等动作 官网
常用说明:
- find 根据条件搜索特定的微信群
topic = '微信群名'
await self.Room.find(query=RoomQueryFilter(topic=topic))
- add 邀请好友进群
await room.add(msg.talker())
- delete 踢人出群
await room.delete(msg.talker())
Contact指微信中的好友
常用说明:
- find
from wechaty import (ContactQueryFilter)
await self.Contact.find(query=ContactQueryFilter(name="微信昵称"))
其中 ContactQueryFilter 表示搜索的条件,可根据特定的条件搜索出指定的微信用户
@dataclass
class ContactQueryFilter:
"""
alias can be regular expression
"""
alias: Optional[str] = None 备注名
id: Optional[str] = None
name: Optional[str] = None 微信昵称
weixin: Optional[str] = None