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()
为消息设置抄送
当我们需要将消息发送给多个人的时候,我们可以为消息设置抄送。
设置抄送的方式有两种:
- 使用框架提供的
SetCc
方法: msg.SetCc("uid1", "uid2" ...) - 使用
Header
的Set
方法:msg.Header.Add("Cc", "uid1,uid2"),用户ID中间以英文“,”
隔开
抄送人应该为用户ID
当脚本返回消息中带有抄送信息时,机器人会自动将消息发给抄送人。
头信息Header
Header
头信息是表示消息标头中的键-值对。
你可以使用它为消息附带关键信息和附加信息。比如可以附带消息验证信息或消息类型,方便脚本或消息转接器使用。
Header
提供了 Add
Set
Get
Del
方法,具体方法见 godoc
Header 可能会用到的键:
cc
抄送人msgtype
消息类型file
发送的文件