45 lines
1.2 KiB
Go
45 lines
1.2 KiB
Go
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)
|
|
if 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 == "0" {
|
|
message = worker.GetMsg()
|
|
worker.SendMsg(message)
|
|
|
|
}
|
|
}
|
|
|
|
}
|