Documentation
¶
Index ¶
- Constants
- Variables
- func ElementsHasType(elems []IMessageElement, t ElementType) bool
- func PackElements(msgElems []IMessageElement) []*message.Elem
- func PackElementsToBody(msgElems []IMessageElement) (msgBody *message.MessageBody)
- func ToReadableString(m []IMessageElement) string
- func ToReadableStringEle(elem IMessageElement) string
- type AnonymousInfo
- type AtElement
- type AtType
- type Config
- type Detail
- type ElementBuilder
- type ElementType
- type FaceElement
- type FileElement
- type ForwardMessage
- type ForwardNode
- type GroupEssenceMessage
- type GroupMessage
- type IMessage
- type IMessageElement
- type ImageElement
- type LightAppElement
- type Meta
- type MsgContentBuilder
- type MultiItem
- type MultiMessage
- type MultiMsgLightApp
- type MultiMsgLightAppExtra
- type MultiSource
- type MultiSummary
- type MultiTitle
- type News
- type PrivateMessage
- type ReplyElement
- type Sender
- type SendingMessage
- type ShortVideoElement
- type Source
- type SourceType
- type TempMessage
- type TextElement
- type VideoThumb
- type VoiceElement
Constants ¶
View Source
const (
AtTypeGroupMember = 0 // At群成员
)
Variables ¶
View Source
var DefaultThumb, _ = base64.StdEncoding.DecodeString("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")
Functions ¶
func ElementsHasType ¶ added in v0.0.17
func ElementsHasType(elems []IMessageElement, t ElementType) bool
func PackElements ¶ added in v0.0.11
func PackElements(msgElems []IMessageElement) []*message.Elem
func PackElementsToBody ¶ added in v0.0.9
func PackElementsToBody(msgElems []IMessageElement) (msgBody *message.MessageBody)
func ToReadableString ¶
func ToReadableString(m []IMessageElement) string
func ToReadableStringEle ¶ added in v0.0.25
func ToReadableStringEle(elem IMessageElement) string
Types ¶
type AnonymousInfo ¶
type AtElement ¶
func (*AtElement) BuildElement ¶
func (*AtElement) Type ¶
func (e *AtElement) Type() ElementType
type ElementBuilder ¶ added in v0.0.9
type ElementType ¶
type ElementType int
const ( Text ElementType = iota // 文本 Image // 图片 Face // 表情 At // 艾特 Reply // 回复 Service // 服务 Forward // 转发 File // 文件 Voice // 语音 Video // 视频 LightApp // 轻应用 RedBag // 红包 )
type FaceElement ¶
type FaceElement struct { FaceID uint16 // contains filtered or unexported fields }
func (*FaceElement) BuildElement ¶
func (e *FaceElement) BuildElement() []*message.Elem
func (*FaceElement) Type ¶
func (e *FaceElement) Type() ElementType
type FileElement ¶ added in v0.0.15
type FileElement struct { FileSize uint64 FileName string FileMd5 []byte FileUrl string FileId string // group FileUUID string // private FileHash string // send FileStream io.ReadSeeker FileSha1 []byte }
func NewFile ¶ added in v0.0.17
func NewFile(data []byte, fileName string) *FileElement
func NewLocalFile ¶ added in v0.0.17
func NewLocalFile(path string, name ...string) (*FileElement, error)
func NewStreamFile ¶ added in v0.0.17
func NewStreamFile(r io.ReadSeeker, fileName string) *FileElement
func (*FileElement) BuildContent ¶ added in v0.0.17
func (e *FileElement) BuildContent() []byte
func (*FileElement) Type ¶ added in v0.0.15
func (e *FileElement) Type() ElementType
type ForwardMessage ¶ added in v0.0.11
type ForwardMessage struct { IsGroup bool SelfId uint32 ResID string Nodes []*ForwardNode }
func NewForward ¶ added in v0.0.25
func NewForward(resid string, nodes []*ForwardNode) *ForwardMessage
func NewForwardWithNodes ¶ added in v0.0.26
func NewForwardWithNodes(nodes []*ForwardNode) *ForwardMessage
func NewForwardWithResID ¶ added in v0.0.26
func NewForwardWithResID(resid string) *ForwardMessage
func (*ForwardMessage) BuildElement ¶ added in v0.0.11
func (e *ForwardMessage) BuildElement() []*message.Elem
func (*ForwardMessage) Type ¶ added in v0.0.11
func (e *ForwardMessage) Type() ElementType
type ForwardNode ¶ added in v0.0.11
type ForwardNode struct { GroupId uint32 SenderId uint32 SenderName string Time uint32 Message []IMessageElement }
type GroupEssenceMessage ¶ added in v0.0.26
type GroupEssenceMessage struct { OperatorUin uint32 OperatorUid string OperatorTime uint64 CanRemove bool Message *GroupMessage }
type GroupMessage ¶
type GroupMessage struct { Id uint32 InternalId uint32 GroupUin uint32 GroupName string Sender *Sender Time uint32 Elements []IMessageElement OriginalObject *message.PushMsgBody }
func ParseGroupMessage ¶
func ParseGroupMessage(msg *message.PushMsgBody) *GroupMessage
func (*GroupMessage) Chat ¶ added in v0.0.25
func (msg *GroupMessage) Chat() int64
func (*GroupMessage) GetElements ¶ added in v0.0.25
func (msg *GroupMessage) GetElements() []IMessageElement
func (*GroupMessage) Texts ¶ added in v0.0.25
func (msg *GroupMessage) Texts() []string
func (*GroupMessage) ToString ¶
func (msg *GroupMessage) ToString() string
type IMessage ¶
type IMessage interface { GetElements() []IMessageElement Chat() int64 ToString() string Texts() []string }
type IMessageElement ¶
type IMessageElement interface {
Type() ElementType
}
func ParseMessageBody ¶ added in v0.0.11
func ParseMessageBody(body *message.MessageBody, isGroup bool) []IMessageElement
func ParseMessageElements ¶ added in v0.0.25
func ParseMessageElements(msg []*message.Elem) []IMessageElement
type ImageElement ¶ added in v0.0.11
type ImageElement struct { ImageId string FileUUID string // only in new protocol photo Size uint32 Width uint32 Height uint32 Url string SubType int32 // EffectID show pic effect id. EffectID int32 // deprecated Flash bool // send & receive Summary string Md5 []byte // only in old protocol photo Sha1 []byte MsgInfo *oidb.MsgInfo Stream io.ReadSeeker CompatFace *message.CustomFace // GroupImage CompatImage *message.NotOnlineImage // FriendImage }
func NewFileImage ¶ added in v0.0.11
func NewFileImage(path string, Summary ...string) (*ImageElement, error)
func NewImage ¶ added in v0.0.11
func NewImage(data []byte, Summary ...string) *ImageElement
func NewStreamImage ¶ added in v0.0.11
func NewStreamImage(r io.ReadSeeker, Summary ...string) *ImageElement
func (*ImageElement) BuildElement ¶ added in v0.0.11
func (e *ImageElement) BuildElement() []*message.Elem
func (*ImageElement) Type ¶ added in v0.0.11
func (e *ImageElement) Type() ElementType
type LightAppElement ¶ added in v0.0.11
func NewLightApp ¶ added in v0.0.11
func NewLightApp(content string) *LightAppElement
func (*LightAppElement) BuildElement ¶ added in v0.0.11
func (e *LightAppElement) BuildElement() []*message.Elem
func (*LightAppElement) Type ¶ added in v0.0.11
func (e *LightAppElement) Type() ElementType
type MsgContentBuilder ¶ added in v0.0.17
type MsgContentBuilder interface {
BuildContent() []byte
}
type MultiItem ¶ added in v0.0.11
type MultiItem struct { Layout int `xml:"layout,attr"` Title []MultiTitle `xml:"title"` Summary MultiSummary `xml:"summary"` }
type MultiMessage ¶ added in v0.0.11
type MultiMessage struct { XMLName xml.Name `xml:"msg"` ServiceID uint `xml:"serviceID,attr"` TemplateID int `xml:"templateID,attr"` Action string `xml:"action,attr"` Brief string `xml:"brief,attr"` FileName string `xml:"m_fileName,attr"` ResId string `xml:"m_resid,attr"` Total int `xml:"tSum,attr"` Flag int `xml:"flag,attr"` Item MultiItem `xml:"item"` Source MultiSource `xml:"source"` }
type MultiMsgLightApp ¶ added in v0.0.11
type MultiMsgLightAppExtra ¶ added in v0.0.11
type MultiSource ¶ added in v0.0.11
type MultiSource struct {
Name string `xml:"name,attr"`
}
type MultiSummary ¶ added in v0.0.11
type MultiTitle ¶ added in v0.0.11
type PrivateMessage ¶
type PrivateMessage struct { Id uint32 InternalId uint32 ClientSeq uint32 Self uint32 Target uint32 Time uint32 Sender *Sender Elements []IMessageElement }
func ParsePrivateMessage ¶
func ParsePrivateMessage(msg *message.PushMsgBody) *PrivateMessage
func (*PrivateMessage) Chat ¶ added in v0.0.25
func (msg *PrivateMessage) Chat() int64
func (*PrivateMessage) GetElements ¶ added in v0.0.25
func (msg *PrivateMessage) GetElements() []IMessageElement
func (*PrivateMessage) Texts ¶ added in v0.0.25
func (msg *PrivateMessage) Texts() []string
func (*PrivateMessage) ToString ¶ added in v0.0.11
func (msg *PrivateMessage) ToString() string
type ReplyElement ¶
type ReplyElement struct { ReplySeq uint32 SenderUin uint32 SenderUid string GroupUin uint32 // 私聊回复群聊时 Time uint32 Elements []IMessageElement }
func NewGroupReply ¶ added in v0.0.11
func NewGroupReply(m *GroupMessage) *ReplyElement
func NewPrivateReply ¶ added in v0.0.11
func NewPrivateReply(m *PrivateMessage) *ReplyElement
func (*ReplyElement) BuildElement ¶
func (e *ReplyElement) BuildElement() []*message.Elem
func (*ReplyElement) Type ¶
func (e *ReplyElement) Type() ElementType
type Sender ¶
type Sender struct { Uin uint32 Uid string Nickname string CardName string AnonymousInfo *AnonymousInfo IsFriend bool }
func (*Sender) IsAnonymous ¶
type SendingMessage ¶
type SendingMessage struct {
Elements []IMessageElement
}
func NewSendingMessage ¶
func NewSendingMessage() *SendingMessage
func (*SendingMessage) Append ¶
func (msg *SendingMessage) Append(e IMessageElement) *SendingMessage
Append 要传入msg的引用
func (*SendingMessage) FirstOrNil ¶
func (msg *SendingMessage) FirstOrNil(f func(element IMessageElement) bool) IMessageElement
func (*SendingMessage) GetElems ¶
func (msg *SendingMessage) GetElems() []IMessageElement
type ShortVideoElement ¶
type ShortVideoElement struct { Name string Uuid []byte Size uint32 Url string Duration uint32 // send Thumb *VideoThumb Summary string Md5 []byte Sha1 []byte Stream io.ReadSeeker MsgInfo *oidb.MsgInfo Compat *message.VideoFile }
func NewFileVideo ¶ added in v0.0.25
func NewFileVideo(path string, thumb []byte, Summary ...string) (*ShortVideoElement, error)
func NewStreamVideo ¶ added in v0.0.25
func NewStreamVideo(r io.ReadSeeker, thumb io.ReadSeeker, Summary ...string) *ShortVideoElement
func NewVideo ¶ added in v0.0.25
func NewVideo(data, thumb []byte, Summary ...string) *ShortVideoElement
func (*ShortVideoElement) BuildElement ¶
func (e *ShortVideoElement) BuildElement() []*message.Elem
func (*ShortVideoElement) Type ¶
func (e *ShortVideoElement) Type() ElementType
type Source ¶
type Source struct { SourceType SourceType PrimaryID int64 // 群号/QQ号/guild_id }
Source 消息来源
type SourceType ¶
type SourceType byte
const ( SourcePrivate SourceType = 1 << iota SourceGroup SourceType = 1 << iota )
MessageSourceType 常量
func (SourceType) String ¶
func (t SourceType) String() string
type TempMessage ¶
type TempMessage struct { Id uint32 GroupUin uint32 GroupName string Self uint32 Sender *Sender Elements []IMessageElement }
func ParseTempMessage ¶
func ParseTempMessage(msg *message.PushMsgBody) *TempMessage
func (*TempMessage) Chat ¶ added in v0.0.25
func (msg *TempMessage) Chat() int64
func (*TempMessage) GetElements ¶ added in v0.0.25
func (msg *TempMessage) GetElements() []IMessageElement
func (*TempMessage) Texts ¶ added in v0.0.25
func (msg *TempMessage) Texts() []string
func (*TempMessage) ToString ¶ added in v0.0.25
func (msg *TempMessage) ToString() string
type TextElement ¶
type TextElement struct {
Content string
}
func NewText ¶
func NewText(s string) *TextElement
func (*TextElement) BuildElement ¶
func (e *TextElement) BuildElement() []*message.Elem
func (*TextElement) Type ¶
func (e *TextElement) Type() ElementType
type VideoThumb ¶ added in v0.0.25
type VideoThumb struct { Stream io.ReadSeeker Size uint32 Md5 []byte Sha1 []byte Width uint32 Height uint32 }
func NewVideoThumb ¶ added in v0.0.25
func NewVideoThumb(r io.ReadSeeker) *VideoThumb
type VoiceElement ¶
type VoiceElement struct { Name string Size uint32 Url string Md5 []byte Sha1 []byte Node *oidb.IndexNode // --- sending --- MsgInfo *oidb.MsgInfo Compat []byte Duration uint32 Stream io.ReadSeeker Summary string }
func NewFileRecord ¶ added in v0.0.11
func NewFileRecord(path string, Summary ...string) (*VoiceElement, error)
func NewRecord ¶ added in v0.0.11
func NewRecord(data []byte, Summary ...string) *VoiceElement
func NewStreamRecord ¶ added in v0.0.11
func NewStreamRecord(r io.ReadSeeker, Summary ...string) *VoiceElement
func (*VoiceElement) BuildElement ¶
func (e *VoiceElement) BuildElement() []*message.Elem
func (*VoiceElement) Type ¶
func (e *VoiceElement) Type() ElementType
Click to show internal directories.
Click to hide internal directories.