Documentation
¶
Overview ¶
Package plugins @Author Clover @Data 2025/3/6 下午9:46:00 @Desc
Index ¶
- Constants
- Variables
- type AHConn
- type AHConnPool
- type ActionFunc
- type ActionHandler
- func (ah *ActionHandler) AsActionFunc(action ActionFunc) *ActionHandler
- func (ah *ActionHandler) AsChild(child *ActionHandler) *ActionHandler
- func (ah *ActionHandler) AsMatcher(matcher matcher.Matcher) *ActionHandler
- func (ah *ActionHandler) Disable()
- func (ah *ActionHandler) Enable()
- func (ah *ActionHandler) IsEnabled() bool
- type AutoRegister
- type IPlugin
- type Plugin
- func (p *Plugin) AsAction(ah *ActionHandler) *Plugin
- func (p *Plugin) AsDisable() *Plugin
- func (p *Plugin) AsEnable() *Plugin
- func (p *Plugin) AsLevel(l PluginLevel) *Plugin
- func (p *Plugin) AsLifeTime(life time.Duration) *Plugin
- func (p *Plugin) AsPluginOpt(opt PluginOpt) *Plugin
- func (p *Plugin) Close()
- func (p *Plugin) DisableP()
- func (p *Plugin) EnableP()
- func (p *Plugin) GetCli() *wcf.Client
- func (p *Plugin) GetLevel() PluginLevel
- func (p *Plugin) GetName() string
- func (p *Plugin) GetPluginOpt() PluginOpt
- func (p *Plugin) HandleRecv(ctx context.Context, recv *message.Message, sendChan chan<- *message.Message) (execute bool)
- func (p *Plugin) SetCli(cli *wcf.Client)
- type PluginHandler
- type PluginLevel
- type PluginOpt
Constants ¶
View Source
const ( VeryHighLevel PluginLevel = 0 HighLevel = iota UpperLevel DownLevel MediumLevel LowLevel VeryLowLevel )
View Source
const LevelSize = 7
Variables ¶
View Source
var ( ErrRecvMsgNull = errors.New("receive message is null") ErrUnCheck = errors.New("un check rules") )
View Source
var Level2Str = map[uint8]string{ uint8(VeryHighLevel): "VeryHighLevel", HighLevel: "HighLevel", UpperLevel: "UpperLevel", DownLevel: "DownLevel", MediumLevel: "MediumLevel", LowLevel: "LowLevel", VeryLowLevel: "VeryLowLevel", }
Functions ¶
This section is empty.
Types ¶
type AHConn ¶ added in v0.8.0
type AHConn struct { Name string LifeTime time.Duration // 存活时间 // contains filtered or unexported fields }
AHConn actionHandler长期存在版 多步骤池
func (*AHConn) AddAC ¶ added in v0.8.0
func (ahc *AHConn) AddAC(acL ...*ActionHandler) *AHConn
AddAC 动态往行动池添加行动
type AHConnPool ¶ added in v0.8.0
AHConnPool 长连接池
func NewAHConnPool ¶ added in v0.8.0
func NewAHConnPool() *AHConnPool
func (*AHConnPool) AddNewConn ¶ added in v0.8.0
func (p *AHConnPool) AddNewConn(m *message.Message, conn *AHConn)
func (*AHConnPool) CheckTimeOut ¶ added in v0.8.0
func (p *AHConnPool) CheckTimeOut(ctx context.Context)
type ActionFunc ¶
type ActionFunc func(ctx context.Context, recvMsg *message.Message) (reply message.Message, ok bool, err error)
ActionFunc 动作函数类型
type ActionHandler ¶
type ActionHandler struct { Name string // Action 的名称,方便识别和管理 Matcher matcher.Matcher // 核心:用于匹配消息的 Matcher 接口 Action ActionFunc // 核心:实际执行的动作函数 //priority int // 可选:优先级,用于控制执行顺序(如果需要) Children []*ActionHandler // 子操作,递归执行 // ... 其他元数据,例如描述、启用状态等 IsEnable bool // 是否启用 // contains filtered or unexported fields }
func DefaultActionHandler ¶
func DefaultActionHandler(name string, isEnable bool) *ActionHandler
func (*ActionHandler) AsActionFunc ¶
func (ah *ActionHandler) AsActionFunc(action ActionFunc) *ActionHandler
func (*ActionHandler) AsChild ¶
func (ah *ActionHandler) AsChild(child *ActionHandler) *ActionHandler
func (*ActionHandler) AsMatcher ¶
func (ah *ActionHandler) AsMatcher(matcher matcher.Matcher) *ActionHandler
func (*ActionHandler) Disable ¶
func (ah *ActionHandler) Disable()
func (*ActionHandler) Enable ¶
func (ah *ActionHandler) Enable()
func (*ActionHandler) IsEnabled ¶
func (ah *ActionHandler) IsEnabled() bool
type AutoRegister ¶
type AutoRegister struct {
// contains filtered or unexported fields
}
func GetAutoRegister ¶
func GetAutoRegister() *AutoRegister
func (*AutoRegister) CachePlugins ¶ added in v0.7.1
func (ag *AutoRegister) CachePlugins()
func (*AutoRegister) DisableByName ¶
func (ag *AutoRegister) DisableByName(name string) bool
func (*AutoRegister) EnableByName ¶
func (ag *AutoRegister) EnableByName(name string) bool
func (*AutoRegister) Plugins ¶
func (ag *AutoRegister) Plugins() []*IPlugin
func (*AutoRegister) RegisterPlugin ¶
func (ag *AutoRegister) RegisterPlugin(p IPlugin)
type Plugin ¶
type Plugin struct { ACPool *AHConnPool // 多步骤行动池(用于一次多行动跟踪)(标识是RoomId + WxId) // end Name string // 插件名称 PluginOpt // 插件设置 Cli *wcf.Client // wcf客户端 ActionHandlerList []*ActionHandler // contains filtered or unexported fields }
func DefaultPlugin ¶
func (*Plugin) AsAction ¶
func (p *Plugin) AsAction(ah *ActionHandler) *Plugin
func (*Plugin) AsLevel ¶
func (p *Plugin) AsLevel(l PluginLevel) *Plugin
func (*Plugin) AsPluginOpt ¶
func (*Plugin) GetLevel ¶
func (p *Plugin) GetLevel() PluginLevel
func (*Plugin) GetPluginOpt ¶
func (*Plugin) HandleRecv ¶
type PluginHandler ¶
type PluginLevel ¶
type PluginLevel uint8
Directories
¶
Path | Synopsis |
---|---|
Package admin @Author Clover @Data 2025/3/10 下午4:55:00 @Desc 管理员模块
|
Package admin @Author Clover @Data 2025/3/10 下午4:55:00 @Desc 管理员模块 |
Package ai @Author Clover @Data 2024/8/30 下午5:48:00 @Desc 过滤器
|
Package ai @Author Clover @Data 2024/8/30 下午5:48:00 @Desc 过滤器 |
cron
Package cron @Author Clover @Data 2024/9/17 下午7:36:00 @Desc 定时器
|
Package cron @Author Clover @Data 2024/9/17 下午7:36:00 @Desc 定时器 |
cron/cronplugins
Package cronplugins @Author Clover @Data 2024/9/17 下午8:27:00 @Desc 定时获取天气模块
|
Package cronplugins @Author Clover @Data 2024/9/17 下午8:27:00 @Desc 定时获取天气模块 |
Package anime @Author Clover @Data 2025/3/31 下午7:58:00 @Desc 动漫相关插件
|
Package anime @Author Clover @Data 2025/3/31 下午7:58:00 @Desc 动漫相关插件 |
Package biliDecoder @Author Clover @Data 2025/3/17 下午1:59:00 @Desc
|
Package biliDecoder @Author Clover @Data 2025/3/17 下午1:59:00 @Desc |
Package hentai 提供涩图功能
|
Package hentai 提供涩图功能 |
Package matchers @Author Clover @Data 2025/3/16 下午12:33:00 @Desc
|
Package matchers @Author Clover @Data 2025/3/16 下午12:33:00 @Desc |
Click to show internal directories.
Click to hide internal directories.