ebgbt

package module
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2020 License: AGPL-3.0 Imports: 7 Imported by: 0

README

ebgbtype

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ConfigRoot string = "../../config"
View Source
var DataRoot = "../../data"
View Source
var DefaultConfigFileName string = "default.yml"
View Source
var FaceMapFullPath string = "../../config/face-map.yml"
View Source
var ImageFolder string = "../../mirai/plugins/MiraiAPIHTTP/images"
View Source
var PlguinFolder string = "../../plugins"
View Source
var RssDataFileName = "rss.yml"
View Source
var SettingFullPath string = "../../mirai/plugins/MiraiAPIHTTP/setting.yml"

Functions

func CastInt64ToString

func CastInt64ToString(nativeValue int64) string

func CastStringToInt64

func CastStringToInt64(str string) int64

func ExecCommand

func ExecCommand(command string, args ...string) (string, error)

func MergeConfigList

func MergeConfigList(dest *[]Config, lists ...[]Config)

func MergeGoMiraiMessageList

func MergeGoMiraiMessageList(dest *[]gomirai.Message, lists ...[]gomirai.Message)

func ParseJsonObj

func ParseJsonObj(obj interface{}, callDepth int) ([]string, []string)

Types

type Config

type Config struct {
	InnerID int64      `json:"-"`
	Type    ConfigType `json:"-"`
	IsCount bool       `json:"-"`
	RssURL  string     `yaml:"url" json:"url"`
	CountID string     `yaml:"countID" json:"countID"`
	Cron    string     `yaml:"cron" json:"cron"`
	When    When       `yaml:"when" json:"when"`
	Do      Do         `yaml:"do" json:"do"`
}

func (*Config) CompleteContent

func (config *Config) CompleteContent(event Event)

func (*Config) CompleteType

func (config *Config) CompleteType()

func (*Config) DeepCopy

func (config *Config) DeepCopy() Config

type ConfigType

type ConfigType int

ConfigType 配置类型

const (
	// ConfigTypeGlobal 全局生效的配置类型
	ConfigTypeGlobal ConfigType = iota
	// ConfigTypeFriend 仅对好友消息生效的配置类型
	ConfigTypeFriend
	// ConfigTypeGroup 仅对群消息生效的配置类型
	ConfigTypeGroup
	//ConfigTypeCrontab 定时执行的配置
	ConfigTypeCrontab
)

type Control

type Control struct {
	InnerType   ControlType `json:"-"`
	Type        string      `yaml:"type" json:"type"`
	GroupIDList []string    `yaml:"group" json:"group"`
	UserIDList  []string    `yaml:"user" json:"user"`
}

func (*Control) CompleteContent

func (control *Control) CompleteContent(event Event)

func (*Control) CompleteType

func (control *Control) CompleteType()

func (*Control) DeepCopy

func (control *Control) DeepCopy() Control

type ControlType

type ControlType int
const (
	// ControlTypeSuspend 挂起机器人
	ControlTypeSuspend ControlType = iota
	// ControlTypeActive 激活机器人
	ControlTypeActive
	// ControlTypeDestory 终止机器人
	ControlTypeDestory
	// ControlTypeRestart 重启机器人
	ControlTypeRestart
	// ControlTypeBlock 屏蔽指定消息接收者
	ControlTypeBlock
	// ControlTypeUnblock 取消被屏蔽的一些消息接收者
	ControlTypeUnblock
)

type Do

type Do struct {
	IsCount       bool        `yaml:"isCount" json:"isCount"`
	Message       Message     `yaml:"message" json:"message"`
	OperationList []Operation `yaml:"operation" json:"operation"`
	ControlList   []Control   `yaml:"control" json:"control"`
}

func (*Do) AddOperation

func (do *Do) AddOperation(operation Operation)

func (*Do) DeepCopy

func (do *Do) DeepCopy() Do

type Event

type Event struct {
	Type          EventType
	MessageID     int64
	Sender        Sender
	MessageList   []Message
	OperationList []Operation
	PreDefVarMap  map[string]string
}

Event 事件 @property Type EventType 事件类型 @property MessageID int64 接收到的消息ID @property SenderList []Sender 消息发送者列表。如果为群消息则 index=0 为群信息, index=1 为发送消息的成员信息 @property MessageList []Message 接收到的消息列表 @property OperationList []Operation 接收到的事件/操作列表 @property PreDefVarMap map[string]string 预定义变量 Map

func NewEventFromGoMiraiEvent

func NewEventFromGoMiraiEvent(goMiraiEvent gomirai.InEvent) (Event, error)

NewEventFromGoMiraiEvent 从 gomirai.InEvent 中构造一个 Event @param goMiraiEvent gomirai.InEvent 事件

func (*Event) AddPerDefVar added in v0.1.4

func (event *Event) AddPerDefVar(varName string, value interface{})

type EventType

type EventType int

EventType 事件类型

const (
	// EventTypeGroupMessage 群消息事件类型
	EventTypeGroupMessage EventType = iota
	// EventTypeFriendMessage 好友消息事件类型
	EventTypeFriendMessage
	// EventTypeMemberMute 群成员禁言事件类型
	EventTypeMemberMute
	// EventTypeGroupMuteAll 全员禁言事件类型
	EventTypeGroupMuteAll
	// EventTypeGroupUnMuteAll 解除全员禁言事件类型
	EventTypeGroupUnMuteAll
	// EventTypeMemberUnmute 解除群成员禁言事件类型
	EventTypeMemberUnmute
	// EventTypeMemberJoin 新成员入群事件类型
	EventTypeMemberJoin
	// EventTypeMemberLeaveByKick 踢人事件类型
	EventTypeMemberLeaveByKick
	// EventTypeMemberLeaveByQuit 群成员自行退群事件类型
	EventTypeMemberLeaveByQuit
)

func CastGoMiraiEventTypeToEventType

func CastGoMiraiEventTypeToEventType(goMiaraiEventType string) EventType

CastGoMiraiEventTypeToEventType 将 GoMiaraiEventType 转化为 EventType

type Message

type Message struct {
	IsQuote    bool            `yaml:"quote" json:"quote"`
	Sender     Sender          `yaml:"sender" json:"sender"`
	Receiver   Receiver        `yaml:"receiver" json:"receiver"`
	DetailList []MessageDetail `yaml:"detail" json:"detail"`
}

func NewMessageFromGoMiraiMessage

func NewMessageFromGoMiraiMessage(goMiraiEvent gomirai.InEvent, goMiraiMessage gomirai.Message) (Message, error)

NewMessageFromGoMiraiMessage 从 gomirai.Message 中 构造一个 Message @param goMiraiMessage gomirai.Message

func (*Message) AddDetail

func (message *Message) AddDetail(detail MessageDetail)

func (*Message) CompleteContent

func (message *Message) CompleteContent(event Event)

func (*Message) CompleteType

func (message *Message) CompleteType()

func (*Message) DeepCopy

func (message *Message) DeepCopy() Message

func (*Message) ToGoMiraiMessageList

func (message *Message) ToGoMiraiMessageList() ([]gomirai.Message, bool)

ToGoMiraiMessage 将 Message 转换为 gomirai.Message

func (Message) ToString

func (message Message) ToString() string

ToString ...

type MessageDetail

type MessageDetail struct {
	InnerType MessageType `json:"-"`
	UserID    string      `yaml:"userID" json:"userID"`
	GroupID   string      `yaml:"groupID" json:"groupID"`
	Type      string      `yaml:"type" json:"type"`
	Text      string      `yaml:"text" json:"text"`
	Regex     string      `yaml:"regex" json:"regex"`
	URL       string      `yaml:"url" json:"url"`
	JSON      bool        `yaml:"json" json:"json"`
	Path      string      `yaml:"path" json:"path"`
	ReDirect  bool        `yaml:"reDirect" json:"reDirect"`
	FaceID    int64
	FaceName  string `yaml:"faceName" json:"faceName"`
}

func (*MessageDetail) CompleteContent

func (detail *MessageDetail) CompleteContent(preDefVarMap map[string]string)

func (*MessageDetail) CompleteType

func (detail *MessageDetail) CompleteType()

func (*MessageDetail) DeepCopy

func (detail *MessageDetail) DeepCopy() MessageDetail

func (*MessageDetail) ToGoMiraiMessage

func (detail *MessageDetail) ToGoMiraiMessage() (gomirai.Message, bool)

type MessageType

type MessageType int

MessageType 消息类型

const (
	// MessageTypePlain 文本消息类型
	MessageTypePlain MessageType = iota
	// MessageTypeImage 图片消息类型
	MessageTypeImage
	// MessageTypeFace 表情消息类型
	MessageTypeFace
	// MessageTypeEvent 事件消息类型
	MessageTypeEvent
	// MessageTypeXML XML消息类型
	MessageTypeXML
	MessageTypeAt
	MessageTypeAtAll
)

type Operation

type Operation struct {
	InnerType    OperationType `json:"-"`
	Type         string        `yaml:"type" json:"type"`
	GroupID      string        `yaml:"groupID" json:"groupID"`
	GroupName    string        `json:"-"`
	OperatorID   int64         `json:"-"`
	OperatorName string        `json:"-"`
	UserID       string        `yaml:"userID" json:"userID"`
	UserName     string
	Second       string `yaml:"second" json:"second"`
}

func (*Operation) CompleteContent

func (operation *Operation) CompleteContent(event Event)

func (*Operation) CompleteType

func (operation *Operation) CompleteType()

func (*Operation) DeepCopy

func (operation *Operation) DeepCopy() Operation

func (*Operation) ToGoMiraiMessage

func (operation *Operation) ToGoMiraiMessage() (gomirai.Message, bool)

func (Operation) ToString

func (operation Operation) ToString() string

type OperationType

type OperationType int

OperationType 操作/事件类型

const (
	// OperationTypeMemberMute 禁言群成员操作类型
	OperationTypeMemberMute OperationType = iota
	// OperationTypeMemberUnMute 解除群成员禁言操作类型
	OperationTypeMemberUnMute
	// OperationTypeGroupMuteAll 全员禁言操作类型
	OperationTypeGroupMuteAll
	// OperationTypeGroupUnMuteAll 解除全员禁言操作类型
	OperationTypeGroupUnMuteAll
	// OperationTypeMemberJoin 新成员入群事件类型
	OperationTypeMemberJoin
	// OperationTypeMemberLeaveByKick 踢人事件类型
	OperationTypeMemberLeaveByKick
	// OperationTypeMemberLeaveByQuit 成员自行退运事件类型
	OperationTypeMemberLeaveByQuit
	OperationTypeAt
	OperationTypeAtAll
)

type Receiver

type Receiver struct {
	GroupIDList []string `yaml:"group" json:"group"`
	UserIDList  []string `yaml:"user" json:"user"`
}

Receiver ... @property Type SenderType Sender 的类型 @property ID int64 Sender 的QQ号 @property Name string Sender 的名称 @property Permission string Sender 其它信息

func (*Receiver) AddGroupID

func (receiver *Receiver) AddGroupID(groupID string)

func (*Receiver) AddUserID

func (receiver *Receiver) AddUserID(userID string)

func (*Receiver) CompleteContent

func (receiver *Receiver) CompleteContent(event Event)

func (*Receiver) DeepCopy

func (receiver *Receiver) DeepCopy() Receiver

type ReceiverType

type ReceiverType int

ReceiverType Sender 的类型

const (
	// ReceiverTypeGroup Sender 是群
	ReceiverTypeGroup ReceiverType = iota
	// ReceiverTypeUser Sender 是QQ用户
	ReceiverTypeUser
)

type Sender

type Sender struct {
	GroupIDList []string `yaml:"group" json:"group"`
	UserIDList  []string `yaml:"user" json:"user"`
}

Sender ... @property Type SenderType Sender 的类型 @property ID int64 Sender 的QQ号 @property Name string Sender 的名称 @property Permission string Sender 其它信息

func (*Sender) AddGroupID

func (sender *Sender) AddGroupID(groupID string)

func (*Sender) AddUserID

func (sender *Sender) AddUserID(userID string)

func (*Sender) CompleteContent

func (sender *Sender) CompleteContent(preDefVarMap map[string]string)

func (*Sender) DeepCopy

func (sender *Sender) DeepCopy() Sender

type SenderType

type SenderType int

SenderType Sender 的类型

const (
	// SenderTypeFriend Sender 是好友
	SenderTypeFriend SenderType = iota
	// SenderTypeGroup Sender 是群
	SenderTypeGroup
	// SenderTypeMember Sender 是群成员
	SenderTypeMember
	// SenderTypeUser Sender 是QQ用户
	SenderTypeUser
)

type SingalType

type SingalType int
const (
	SingalTypeStop SingalType = iota
)

type When

type When struct {
	Message       Message     `yaml:"message" json:"message"`
	OperationList []Operation `yaml:"operation" json:"operation"`
}

func (*When) AddOperation

func (when *When) AddOperation(operation Operation)

func (*When) DeepCopy

func (when *When) DeepCopy() When

Jump to

Keyboard shortcuts

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