消息

Vbot 的内置处理使消息变得多种多样,也更便于程序的灵活处理。

所有消息类都继承于 Illuminate\Support\Collection,Collection 实现了 ArrayAccess 接口,你把消息当成数组即可,取出属性时只需把属性名称当作数组下标 如何获取属性值?

每种消息都可能含有各自独特的属性,但它们都含有基础属性

每次接受到的消息都会存入缓存中,两分钟后过期,方便取出撤回消息。

基础属性

参数 类型 描述
type string 消息类型(每种消息都对应一个 type 类型)
from array 消息来源
sender array 群消息发送者
content string 经过处理显示在控制台的消息
message string 转格式后的消息
time Carbon 发送时间
fromType string 消息发送者类型
raw array 消息原始数据(完全不经处理的原始数据)
message vs content vs raw ?
  • raw. 是微信返回的原始数据,其中夹杂着大量无用的数据, Vbot 在处理 raw 时会取出有用的数据作为消息的属性
  • message. message 是经过 raw 处理而来的,例如对
    标签、XML 的转移
  • content. content 是为了处理不便于在控制台展示的数据。如 [表情] [视频] [分享] 等等
fromType

消息发送者的类型

  • System 系统消息
  • Self 自己发送的消息
  • Group 群组消息
  • Contact 联系人消息
  • Official 公众号消息
  • Special 特殊账号消息
  • Unknown 未知消息
from & sender

这个结构可参考 好友 以及 群成员

如何获取属性值?

举例:

  • 消息类型: $message['type']
  • 消息来源昵称: $message['from']['NickName'] (更多详情可查阅 联系人)