package utils import ( "fmt" "go-bot/workers" "strings" ) func Router(data map[string]interface{}) { // 将map转换为格式化的JSON字符串 // jsonString, err := json.MarshalIndent(data, "", " ") // if err != nil { // panic(err) // } // 输出格式化后的JSON // fmt.Println(string(jsonString)) // 读取字段值 uid := data["user_id"].(float64) gid := data["group_id"].(float64) sender := data["sender"].(map[string]interface{}) role := sender["role"].(string) mid := data["message_id"].(float64) //包含发送消息的'!' raw_msg := data["raw_message"].(string) // fmt.Println("raw_msg:", string(raw_msg[0])) if len(raw_msg) > 1 && raw_msg[0] == '!' { // 去除'!' raw_msg = raw_msg[1:] parms := strings.Fields(raw_msg) worker := workers.NewWorker(parms, fmt.Sprintf("%d", int(uid)), fmt.Sprintf("%d", int(gid)), role, fmt.Sprintf("%d", int(mid)), raw_msg) // fmt.Println("router:", parms[0]) // fmt.Println("CheckPermission:", worker.CheckPermission()) // ans := NewStdAns(parms[0], fmt.Sprintf("%d", int(uid)), fmt.Sprintf("%d", int(gid)), role, fmt.Sprintf("%d", int(mid)), raw_msg) message := worker.CheckPermission() if message == "ok" { message = worker.GetMsg() worker.SendMsg(message) } else { println("权限校验失败") } } }