Documentation
¶
Index ¶
- func ElemsToString(elems []*MessageElement) string
- type BaseBuilder
- func (b *BaseBuilder) Append(elementType ElementType, content string, source string) *BaseBuilder
- func (b *BaseBuilder) Build() []*MessageElement
- func (b *BaseBuilder) Mention(id string) *BaseBuilder
- func (b *BaseBuilder) Quote(msg *BaseMessage) *BaseBuilder
- func (b *BaseBuilder) Text(text string) *BaseBuilder
- type BaseMessage
- type BotContext
- type ElementType
- type LoginStatus
- type MessageBuilder
- type MessageContext
- type MessageElement
- type MessageType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ElemsToString ¶
func ElemsToString(elems []*MessageElement) string
Types ¶
type BaseBuilder ¶
type BaseBuilder struct {
// contains filtered or unexported fields
}
func NewBuilder ¶
func NewBuilder() *BaseBuilder
func (*BaseBuilder) Append ¶
func (b *BaseBuilder) Append(elementType ElementType, content string, source string) *BaseBuilder
func (*BaseBuilder) Build ¶
func (b *BaseBuilder) Build() []*MessageElement
func (*BaseBuilder) Mention ¶
func (b *BaseBuilder) Mention(id string) *BaseBuilder
func (*BaseBuilder) Quote ¶
func (b *BaseBuilder) Quote(msg *BaseMessage) *BaseBuilder
func (*BaseBuilder) Text ¶
func (b *BaseBuilder) Text(text string) *BaseBuilder
type BaseMessage ¶
type BaseMessage struct { MessageType MessageType ID string Content string Elements []*MessageElement Sender *entity.Sender Time time.Time }
func UnmarshallMessage ¶
func UnmarshallMessage(str string) (*BaseMessage, error)
func (*BaseMessage) Marshall ¶
func (m *BaseMessage) Marshall() string
type BotContext ¶
type BotContext interface { ID() string Name() string Protocol() string Status() LoginStatus NewMessageBuilder() MessageBuilder SendDirectMessage(target entity.User, elements []*MessageElement) (*BaseMessage, error) SendGroupMessage(target entity.Group, elements []*MessageElement) (*BaseMessage, error) Contacts() []entity.User Groups() []entity.Group GetMessageFileUrl(msg *BaseMessage) (string, error) }
type ElementType ¶
type ElementType int
const ( TextElement ElementType = iota QuoteElement MentionElement ImageElement VideoElement FileElement VoiceElement StickerElement LinkElement OtherElement )
type LoginStatus ¶
type LoginStatus int
const ( Offline LoginStatus = iota Online Connect Disconnect Reconnect )
type MessageBuilder ¶
type MessageBuilder interface { Protocol() string Text(text string) MessageBuilder Quote(msg *BaseMessage) MessageBuilder Mention(id string) MessageBuilder ImageFromFile(path string) MessageBuilder ImageFromUrl(url string) MessageBuilder ImageFromData(data []byte) MessageBuilder ReplyTo(msg MessageContext) (*BaseMessage, error) Send(id string) (*BaseMessage, error) }
type MessageContext ¶
type MessageContext interface { Protocol() string BotContext() BotContext String() string Message() *BaseMessage SenderID() string NewMessageBuilder() MessageBuilder Reply(elements []*MessageElement) (*BaseMessage, error) ReplyText(a ...any) (*BaseMessage, error) }
type MessageElement ¶
type MessageElement struct { Type ElementType Content string Source string }
Click to show internal directories.
Click to hide internal directories.