ProjectWIND/core/app_core.go

67 lines
1.4 KiB
Go
Raw Normal View History

2024-12-07 17:16:44 +08:00
package core
import (
"ProjectWIND/LOG"
"ProjectWIND/wba"
)
type CmdListInfo map[string]wba.Cmd
type AppInfo struct {
CmdMap map[string]wba.Cmd
2025-04-22 12:28:44 +08:00
AppKey wba.AppKey
2024-12-07 17:16:44 +08:00
}
2025-04-22 12:28:44 +08:00
//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
//}
2025-03-03 14:21:54 +08:00
2024-12-07 17:16:44 +08:00
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,
2024-12-07 17:16:44 +08:00
}
}
var AppCore = AppInfo{
2025-04-22 12:28:44 +08:00
AppKey: wba.AppKey{
Name: "core",
Level: 0,
Version: "1.0.0",
Selector: "core",
Option: "core",
},
2024-12-07 17:16:44 +08:00
CmdMap: CmdListInfo{
"bot": NewCmd(
"bot",
"显示WIND版本信息",
func(args []string, msg wba.MessageEventInfo) {
2025-04-22 12:28:44 +08:00
ProtocolApi.SendMsg(msg, "WIND 0.1.0", false)
LOG.Info("发送核心版本信息:(至:%v-%v:%v-%v)", msg.MessageType, msg.GroupId, msg.UserId, msg.Sender.Nickname)
2024-12-07 17:16:44 +08:00
},
),
2025-04-22 12:28:44 +08:00
"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)
},
),
2024-12-07 17:16:44 +08:00
},
}