Documentation ¶
Index ¶
- Constants
- func EstimateLength(elems []IMessageElement, limit int) int
- func ToProtoElems(elems []IMessageElement, generalFlags bool) (r []*msg.Elem)
- func ToReadableString(m []IMessageElement) (r string)
- func ToSrcProtoElems(elems []IMessageElement) (r []*msg.Elem)
- type AnonymousInfo
- type AtElement
- type ElementType
- type FaceElement
- type ForwardElement
- type ForwardMessage
- type ForwardNode
- type FriendFlashImgElement
- type FriendFlashPicElement
- type FriendImageElement
- type GroupFileElement
- type GroupFlashImgElement
- type GroupFlashPicElement
- type GroupGift
- type GroupImageElement
- type GroupMessage
- type GroupShowPicElement
- type GroupVoiceElement
- type IMessageElement
- type IRichMessageElement
- type ImageElement
- type LightAppElement
- type PrivateMessage
- type PrivateVoiceElement
- type RedBagElement
- type RedBagMessageType
- type ReplyElement
- type RichMessage
- type Sender
- type SendingMessage
- func (msg *SendingMessage) Any(filter func(e IMessageElement) bool) bool
- func (msg *SendingMessage) Append(e IMessageElement) *SendingMessage
- func (msg *SendingMessage) Count(filter func(e IMessageElement) bool) (c int)
- func (msg *SendingMessage) FirstOrNil(filter func(e IMessageElement) bool) IMessageElement
- func (msg *SendingMessage) ToFragmented() [][]IMessageElement
- type ServiceElement
- type ShortVideoElement
- type TempMessage
- type TextElement
- type VoiceElement
Constants ¶
View Source
const ( Text ElementType = iota Image Face At Reply Service Forward File Voice Video LightApp RedBag HoldingYourHand GroupGift = 280 CuteCat GroupGift = 281 MysteryMask GroupGift = 284 SweetWink GroupGift = 285 ImBusy GroupGift = 286 HappyCola GroupGift = 289 LuckyBracelet GroupGift = 290 Cappuccino GroupGift = 299 CatWatch GroupGift = 302 FleeceGloves GroupGift = 307 RainbowCandy GroupGift = 308 LoveMask GroupGift = 312 Stronger GroupGift = 313 LoveMicrophone GroupGift = 367 )
Variables ¶
This section is empty.
Functions ¶
func EstimateLength ¶
func EstimateLength(elems []IMessageElement, limit int) int
func ToProtoElems ¶
func ToProtoElems(elems []IMessageElement, generalFlags bool) (r []*msg.Elem)
func ToReadableString ¶
func ToReadableString(m []IMessageElement) (r string)
func ToSrcProtoElems ¶
func ToSrcProtoElems(elems []IMessageElement) (r []*msg.Elem)
Types ¶
type AnonymousInfo ¶
type ElementType ¶
type ElementType int
type FaceElement ¶
func NewFace ¶
func NewFace(index int32) *FaceElement
func (*FaceElement) Pack ¶
func (e *FaceElement) Pack() (r []*msg.Elem)
func (*FaceElement) Type ¶
func (e *FaceElement) Type() ElementType
type ForwardElement ¶
type ForwardElement struct { Content string ResId string Items []*msg.PbMultiMsgItem }
func (*ForwardElement) Pack ¶
func (e *ForwardElement) Pack() (r []*msg.Elem)
func (*ForwardElement) Type ¶
func (e *ForwardElement) Type() ElementType
type ForwardMessage ¶
type ForwardMessage struct {
Nodes []*ForwardNode
}
func (*ForwardMessage) CalculateValidationData ¶
func (forMsg *ForwardMessage) CalculateValidationData(seq, random int32, groupCode int64) ([]byte, []byte)
func (*ForwardMessage) CalculateValidationDataForward ¶
func (forMsg *ForwardMessage) CalculateValidationDataForward(seq, random int32, groupCode int64) ([]byte, []byte, []*msg.PbMultiMsgItem)
CalculateValidationDataForward 屎代码
type ForwardNode ¶
type ForwardNode struct { SenderId int64 SenderName string Time int32 Message []IMessageElement }
type FriendFlashImgElement ¶
type FriendFlashImgElement struct {
ImageElement
}
func (*FriendFlashImgElement) Type ¶
func (e *FriendFlashImgElement) Type() ElementType
type FriendFlashPicElement ¶
type FriendFlashPicElement struct {
FriendImageElement
}
func (*FriendFlashPicElement) Pack ¶
func (e *FriendFlashPicElement) Pack() (r []*msg.Elem)
type FriendImageElement ¶
func (*FriendImageElement) Pack ¶
func (e *FriendImageElement) Pack() (r []*msg.Elem)
func (*FriendImageElement) Type ¶
func (e *FriendImageElement) Type() ElementType
type GroupFileElement ¶
func (*GroupFileElement) Type ¶
func (e *GroupFileElement) Type() ElementType
type GroupFlashImgElement ¶
type GroupFlashImgElement struct {
ImageElement
}
func (*GroupFlashImgElement) Type ¶
func (e *GroupFlashImgElement) Type() ElementType
type GroupFlashPicElement ¶
type GroupFlashPicElement struct {
GroupImageElement
}
func (*GroupFlashPicElement) Pack ¶
func (e *GroupFlashPicElement) Pack() (r []*msg.Elem)
type GroupImageElement ¶
type GroupImageElement struct { ImageId string FileId int64 ImageType int32 Size int32 Width int32 Height int32 Md5 []byte Url string }
func NewGroupImage ¶
func NewGroupImage(id string, md5 []byte, fid int64, size, width, height, imageType int32) *GroupImageElement
func (*GroupImageElement) Pack ¶
func (e *GroupImageElement) Pack() (r []*msg.Elem)
func (*GroupImageElement) Type ¶
func (e *GroupImageElement) Type() ElementType
type GroupMessage ¶
type GroupMessage struct { Id int32 InternalId int32 GroupCode int64 GroupName string Sender *Sender Time int32 Elements []IMessageElement OriginalObject *msg.Message }
func (*GroupMessage) ToString ¶
func (msg *GroupMessage) ToString() (res string)
type GroupShowPicElement ¶
type GroupShowPicElement struct { GroupImageElement EffectId int32 }
func (*GroupShowPicElement) Pack ¶
func (e *GroupShowPicElement) Pack() (r []*msg.Elem)
type GroupVoiceElement ¶
func (*GroupVoiceElement) Type ¶
func (e *GroupVoiceElement) Type() ElementType
type IMessageElement ¶
type IMessageElement interface {
Type() ElementType
}
func ParseMessageElems ¶
func ParseMessageElems(elems []*msg.Elem) []IMessageElement
type IRichMessageElement ¶
type ImageElement ¶
type ImageElement struct { Filename string Size int32 Width int32 Height int32 Url string Md5 []byte Data []byte }
func NewImage ¶
func NewImage(data []byte) *ImageElement
func (*ImageElement) Pack ¶
func (e *ImageElement) Pack() (r []*msg.Elem)
func (*ImageElement) Type ¶
func (e *ImageElement) Type() ElementType
type LightAppElement ¶
type LightAppElement struct {
Content string
}
func NewLightApp ¶
func NewLightApp(content string) *LightAppElement
func (*LightAppElement) Pack ¶
func (e *LightAppElement) Pack() (r []*msg.Elem)
func (*LightAppElement) Type ¶
func (e *LightAppElement) Type() ElementType
type PrivateMessage ¶
type PrivateMessage struct { Id int32 InternalId int32 Target int64 Time int32 Sender *Sender Elements []IMessageElement }
func (*PrivateMessage) ToString ¶
func (msg *PrivateMessage) ToString() (res string)
type PrivateVoiceElement ¶
func (*PrivateVoiceElement) Type ¶
func (e *PrivateVoiceElement) Type() ElementType
type RedBagElement ¶
type RedBagElement struct { MsgType RedBagMessageType Title string }
func (*RedBagElement) Type ¶
func (e *RedBagElement) Type() ElementType
type RedBagMessageType ¶
type RedBagMessageType int
const ( Simple RedBagMessageType = 2 Lucky RedBagMessageType = 3 World RedBagMessageType = 6 )
type ReplyElement ¶
type ReplyElement struct { ReplySeq int32 Sender int64 Time int32 Elements []IMessageElement }
func NewReply ¶
func NewReply(m *GroupMessage) *ReplyElement
func (*ReplyElement) Type ¶
func (e *ReplyElement) Type() ElementType
type RichMessage ¶
type Sender ¶
type Sender struct { Uin int64 Nickname string CardName string AnonymousInfo *AnonymousInfo IsFriend bool }
func (*Sender) DisplayName ¶
func (*Sender) IsAnonymous ¶
type SendingMessage ¶
type SendingMessage struct {
Elements []IMessageElement
}
func NewSendingMessage ¶
func NewSendingMessage() *SendingMessage
func (*SendingMessage) Any ¶
func (msg *SendingMessage) Any(filter func(e IMessageElement) bool) bool
func (*SendingMessage) Append ¶
func (msg *SendingMessage) Append(e IMessageElement) *SendingMessage
func (*SendingMessage) Count ¶
func (msg *SendingMessage) Count(filter func(e IMessageElement) bool) (c int)
func (*SendingMessage) FirstOrNil ¶
func (msg *SendingMessage) FirstOrNil(filter func(e IMessageElement) bool) IMessageElement
func (*SendingMessage) ToFragmented ¶
func (msg *SendingMessage) ToFragmented() [][]IMessageElement
type ServiceElement ¶
func NewRichJson ¶
func NewRichJson(template string) *ServiceElement
func NewRichXml ¶
func NewRichXml(template string, ResId int64) *ServiceElement
func NewUrlShare ¶
func NewUrlShare(url, title, content, image string) *ServiceElement
func (*ServiceElement) Pack ¶
func (e *ServiceElement) Pack() (r []*msg.Elem)
func (*ServiceElement) Type ¶
func (e *ServiceElement) Type() ElementType
type ShortVideoElement ¶
func (*ShortVideoElement) Type ¶
func (e *ShortVideoElement) Type() ElementType
type TempMessage ¶
type TempMessage struct { Id int32 GroupCode int64 GroupName string Sender *Sender Elements []IMessageElement }
func (*TempMessage) ToString ¶
func (msg *TempMessage) ToString() (res string)
type TextElement ¶
type TextElement struct {
Content string
}
func NewText ¶
func NewText(s string) *TextElement
func (*TextElement) Pack ¶
func (e *TextElement) Pack() (r []*msg.Elem)
func (*TextElement) Type ¶
func (e *TextElement) Type() ElementType
type VoiceElement ¶
type VoiceElement struct { Name string Md5 []byte Size int32 Url string // --- sending --- Data []byte }
func (*VoiceElement) Type ¶
func (e *VoiceElement) Type() ElementType
Click to show internal directories.
Click to hide internal directories.