Rboot 文档--消息Message

Rboot 消息

rboot 的消息类似于邮件消息,它包含了接收者 消息来源 发送者 消息头信息 消息主体

消息 Message

// Message 表示一个消息的结构
type Message struct {
   To     string    // 消息接收者
   From   string    // 消息来源
   Sender string    // 发送者
   Header Header    // 头信息
   Body   io.Reader // 消息主体
}

其中 消息接收者 消息来源发送者传递的一般都是用户ID,如果需要用户其他信息可以在 消息头信息 中传递。

创建一条文本消息

框架提供了两种方法创建文本消息:

  • NewMessages:创建一组消息,参数为消息内容和消息接收者,它返回的是 []*Message ,当在脚本中返回一条文本消息时非常有用。
  • NewMessage:创建一条消息,参数为消息内容和消息接收者,它返回的是 *Message,你可以使用返回的msg为消息添加需要的信息。

获取消息主体文本信息

假设消息体为 msg

  • String 方法:读取消息内容方法,返回的是 string类型,使用:msg.String()
  • Bytes 方法:读取消息内容方法,返回的是 []byte类型,使用:msg.Bytes()

为消息设置抄送

当我们需要将消息发送给多个人的时候,我们可以为消息设置抄送。

设置抄送的方式有两种:

  1. 使用框架提供的 SetCc 方法: msg.SetCc("uid1", "uid2" ...)
  2. 使用 HeaderSet 方法:msg.Header.Add("Cc", "uid1,uid2"),用户ID中间以英文“,”隔开

抄送人应该为用户ID

当脚本返回消息中带有抄送信息时,机器人会自动将消息发给抄送人。

头信息Header

Header 头信息是表示消息标头中的键-值对。

你可以使用它为消息附带关键信息和附加信息。比如可以附带消息验证信息或消息类型,方便脚本或消息转接器使用。

Header 提供了 Add Set Get Del 方法,具体方法见 godoc

Header 可能会用到的键:

  • cc 抄送人
  • msgtype 消息类型
  • file 发送的文件

你可能感兴趣的:(Rboot 文档--消息Message)