42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
|
package utils
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"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)[1:]
|
||
|
parms := strings.Split(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(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" {
|
||
|
worker.SendMsg(message)
|
||
|
} else {
|
||
|
message = worker.GetMsg()
|
||
|
worker.SendMsg(message)
|
||
|
}
|
||
|
|
||
|
}
|