mmsg

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2021 License: AGPL-3.0 Imports: 8 Imported by: 3

Documentation

Index

Constants

View Source
const (
	ImageBytes message.ElementType = 10000 + iota
	Typed
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CustomElement

type CustomElement interface {
	PackToElement(target Target) message.IMessageElement
}

type GroupTarget

type GroupTarget struct {
	GroupCode int64 `json:"group_code"`
}

func NewGroupTarget

func NewGroupTarget(groupCode int64) *GroupTarget

func (*GroupTarget) TargetCode

func (t *GroupTarget) TargetCode() int64

func (*GroupTarget) TargetType

func (t *GroupTarget) TargetType() TargetType

type IMsgCtx

type IMsgCtx interface {
	TextSend(text string) interface{}
	TextReply(text string) interface{}
	Reply(m *MSG) interface{}
	Send(m *MSG) interface{}
	NoPermissionReply() interface{}
	GetLog() *logrus.Entry
	GetTarget() Target
	GetSender() *message.Sender
}

type ImageBytesElement

type ImageBytesElement struct {
	Buf []byte
	// contains filtered or unexported fields
}

func NewImage

func NewImage(buf []byte) *ImageBytesElement

func NewImageByUrl

func NewImageByUrl(url string, prefer proxy_pool.Prefer, opts ...requests.Option) *ImageBytesElement

func NewNormImageByUrl

func NewNormImageByUrl(url string, prefer proxy_pool.Prefer, opts ...requests.Option) *ImageBytesElement

func (*ImageBytesElement) Alternative

func (i *ImageBytesElement) Alternative(s string) *ImageBytesElement

func (*ImageBytesElement) PackToElement

func (i *ImageBytesElement) PackToElement(target Target) message.IMessageElement

func (*ImageBytesElement) Type

type MSG

type MSG struct {
	// contains filtered or unexported fields
}

MSG 线程不安全

func NewMSG

func NewMSG() *MSG

func NewText

func NewText(s string) *MSG

func NewTextf

func NewTextf(format string, args ...interface{}) *MSG

func (*MSG) Append

func (m *MSG) Append(e message.IMessageElement) *MSG

func (*MSG) Elements

func (m *MSG) Elements() []message.IMessageElement

func (*MSG) Image

func (m *MSG) Image(buf []byte, alternative string) *MSG

func (*MSG) ImageByUrl

func (m *MSG) ImageByUrl(url string, alternative string, prefer proxy_pool.Prefer, opts ...requests.Option) *MSG

func (*MSG) NormImageByUrl

func (m *MSG) NormImageByUrl(url string, alternative string, prefer proxy_pool.Prefer, opts ...requests.Option) *MSG

func (*MSG) Text

func (m *MSG) Text(s string) *MSG

func (*MSG) Textf

func (m *MSG) Textf(format string, args ...interface{}) *MSG

func (*MSG) ToMessage

func (m *MSG) ToMessage(target Target) *message.SendingMessage

ToMessage 总是返回 non-nil

type PrivateTarget

type PrivateTarget struct {
	Uin int64 `json:"uin"`
}

func NewPrivateTarget

func NewPrivateTarget(uin int64) *PrivateTarget

func (*PrivateTarget) TargetCode

func (t *PrivateTarget) TargetCode() int64

func (*PrivateTarget) TargetType

func (t *PrivateTarget) TargetType() TargetType

type Target

type Target interface {
	TargetType() TargetType
	TargetCode() int64
}

type TargetType

type TargetType int32
const (
	TargetGroup TargetType = iota
	TargetPrivate
)

func (TargetType) IsGroup

func (t TargetType) IsGroup() bool

func (TargetType) IsPrivate

func (t TargetType) IsPrivate() bool

type TypedElement

type TypedElement struct {
	// contains filtered or unexported fields
}

TypedElement 根据TargetType选择不同的element,不解决循环问题,使用不当可能导致堆栈溢出 可以同时设置 OnGroup 和 OnPrivate ,发送时会根据目标自动选择 如果只设置了一个,发送另一个时会返回 nil ,即这里什么也不发送

func NewGroupElement

func NewGroupElement(e message.IMessageElement) *TypedElement

func NewPrivateElement

func NewPrivateElement(e message.IMessageElement) *TypedElement

func NewTypedElement

func NewTypedElement() *TypedElement

func (*TypedElement) OnGroup

func (*TypedElement) OnPrivate

func (*TypedElement) PackToElement

func (t *TypedElement) PackToElement(target Target) message.IMessageElement

func (*TypedElement) Type

func (t *TypedElement) Type() message.ElementType

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL