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