go-bot/test/test.go
liyp 8e4ad23278 feat(test): 添加测试数据生成和API请求功能
- test.go中添加了生成测试数据的逻辑,并使用gorequest库发起了HTTP POST请求。
- main.go中调整了插入消息的条件,现在包括'message_sent'类型。
- .gitignore中新增了请求数据的忽略项request.json。
- go.mod中新增了gorequest和goconvey库的依赖。

此功能使得测试更加自动化,能够更方便地进行数据的模拟和测试。
2024-07-02 18:16:26 +08:00

73 lines
1.6 KiB
Go

package main
import (
"bufio"
"fmt"
"go-bot/config"
"os"
"strings"
"time"
"github.com/parnurzeal/gorequest"
)
func main() {
for {
reader := bufio.NewReader(os.Stdin)
cfg := config.GetConfig()
fmt.Print("输入指令:")
raw_msg, _ := reader.ReadString('\n')
// 去除末尾的换行符
raw_msg = strings.TrimRight(raw_msg, "\r\n")
if raw_msg == "" {
raw_msg = "!ping"
}
if raw_msg == "!exit" {
break
}
// parms := strings.Fields(raw_msg)
message := map[string]interface{}{
"post_type": "message",
"message_type": "group",
"time": float64(time.Now().Unix()),
"group_id": float64(874769998),
"message_id": float64(time.Now().Unix()),
"raw_message": raw_msg,
"sender": map[string]interface{}{
"user_id": float64(794508986),
"nickname": "111",
"card": "",
"role": "owner",
},
"message_seq": float64(time.Now().Unix()),
"user_id": float64(794508986),
}
fmt.Println("message:", message)
// jsonData, err := json.MarshalIndent(message, "", " ")
// if err != nil {
// log.Fatal(err)
// }
// file, err := os.Create("message.json")
// if err != nil {
// log.Fatal(err)
// }
// defer file.Close()
// _, err = file.Write(jsonData)
// if err != nil {
// log.Fatal(err)
// }
url := "http://" + cfg["APIURL"].(string)
request := gorequest.New()
_, _, err := request.Post(url).Send(message).End()
if err != nil {
fmt.Println("Error:", err)
}
// worker := workers.NewWorker(parms, "794508986", "874769998", "111", "222", raw_msg)
// fmt.Println("TestPermission:", worker.CheckPermission())
// message := worker.GetMsg()
}
}