ProjectWIND/core/app_core.go
2025-04-22 12:28:44 +08:00

67 lines
1.4 KiB
Go

package core
import (
"ProjectWIND/LOG"
"ProjectWIND/wba"
)
type CmdListInfo map[string]wba.Cmd
type AppInfo struct {
CmdMap map[string]wba.Cmd
AppKey wba.AppKey
}
//func (app AppInfo) Get() AppInfo {
// return app
//}
//
//func (app *AppInfo) Run(cmd string, args []string, msg wba.MessageEventInfo) error {
// _, ok := app.CmdMap[cmd]
// if !ok {
// return errors.New("cmd not found")
// }
// app.CmdMap[cmd].Solve(args, msg)
// return nil
//}
func (app *AppInfo) GetCmd() map[string]wba.Cmd {
return app.CmdMap
}
func NewCmd(name string, help string, solve func(args []string, msg wba.MessageEventInfo)) wba.Cmd {
return wba.Cmd{
Name: name,
Desc: help,
Solve: solve,
}
}
var AppCore = AppInfo{
AppKey: wba.AppKey{
Name: "core",
Level: 0,
Version: "1.0.0",
Selector: "core",
Option: "core",
},
CmdMap: CmdListInfo{
"bot": NewCmd(
"bot",
"显示WIND版本信息",
func(args []string, msg wba.MessageEventInfo) {
ProtocolApi.SendMsg(msg, "WIND 0.1.0", false)
LOG.Info("发送核心版本信息:(至:%v-%v:%v-%v)", msg.MessageType, msg.GroupId, msg.UserId, msg.Sender.Nickname)
},
),
"help": NewCmd(
"help",
"显示帮助信息",
func(args []string, msg wba.MessageEventInfo) {
ProtocolApi.SendMsg(msg, "帮助信息", false)
LOG.Info("发送帮助信息:(至:%v-%v:%v-%v)", msg.MessageType, msg.GroupId, msg.UserId, msg.Sender.Nickname)
},
),
},
}