filters

package
v0.0.0-...-63a9e4b Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CallPost

func CallPost(ge v10.GlobalEvents, msg *models.Msg) (ret *models.Msg, err error)

func CallPre

func CallPre(ge v10.GlobalEvents, msg *models.Msg) (ret *models.Msg, err error)

func Start

func Start()

func Stop

func Stop()

Types

type Args

type Args struct {
	// MsgId       string `json:"mid"`
	Ge          v10.GlobalEvents `json:"ge"`
	Timestamp   time.Time        `json:"ts"`
	ConsumerTag string           `json:"ctag"`
	Msg         *models.Msg      `json:"msg"`
}

type Config

type Config struct {
	Name        string
	Icon        string
	Version     string
	Author      string
	Copyright   string
	CaredEvents string
	Permissions string
	Tags        string //
	Keyword     string //
	Mode        int    // 0: Pre-filter, 1: Post filter
	Website     string // url
	Info        string // short detail about this filter
	Cover       string // url for cover image
	HelpPage    string // url
	TermsPage   string // url
	Privacy     string // url
}

type FilterPlugin

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

func NewFilterPlugin

func NewFilterPlugin(model *models.Filter, plugin *plugin.Plugin, mainEntry plugin.Symbol) (r *FilterPlugin)

func (*FilterPlugin) Config

func (ap *FilterPlugin) Config() *Config

func (*FilterPlugin) IsCared

func (ap *FilterPlugin) IsCared(event v10.GlobalEvents) bool

func (*FilterPlugin) IsPlugin

func (ap *FilterPlugin) IsPlugin() bool

func (*FilterPlugin) Model

func (ap *FilterPlugin) Model() *models.Filter

func (*FilterPlugin) Plugin

func (ap *FilterPlugin) Plugin() *plugin.Plugin

func (*FilterPlugin) PluginMainEntry

func (ap *FilterPlugin) PluginMainEntry() plugin.Symbol

type Plugin

type Plugin interface {
	Model() *models.Filter
	Config() *Config
	IsPlugin() bool
	Plugin() *plugin.Plugin
	PluginMainEntry() plugin.Symbol
	IsCared(event v10.GlobalEvents) bool
}

type VxPlug

type VxPlug interface {
	Config() *Config
	OnCall(p Plugin, args *Args) (ret *models.Msg, err error)
	OnEvent(p Plugin, args *Args) (ret *models.Msg, err error)
	OnLoad() error
	OnUnload() error
}

VxPlug 一个第三方开发的 VxFilter,是一个具备 filters.VxPlug 接口实现的实体。参见 demo/demo.go 的示意性实现。

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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