diff --git a/models/command.go b/models/command.go index fbf9aa3..c68550f 100644 --- a/models/command.go +++ b/models/command.go @@ -1,10 +1,12 @@ package models import ( + "encoding/json" "errors" "fmt" "github.com/beego/beego/v2/client/httplib" "github.com/beego/beego/v2/core/logs" + "io/ioutil" "regexp" "strings" "time" @@ -139,27 +141,22 @@ var codeSignals = []CodeSignal{ { Command: []string{"qrcode", "扫码", "二维码", "scan"}, Handle: func(sender *Sender) interface{} { - //rsp, err := httplib.Post("https://api.kukuqaq.com/jd/qrcode").Response() - //if err != nil { - // return nil - //} - //body, err1 := ioutil.ReadAll(rsp.Body) - //if err1 == nil { - // fmt.Println(string(body)) - //} - //s := &QQuery{} - //if len(body) > 0 { - // json.Unmarshal(body, &s) - //} - //logs.Info(s.Data.QqLoginQrcode.Bytes) - //ddd, _ := base64.StdEncoding.DecodeString(s.Data.QqLoginQrcode.Bytes) - rsp, err := httplib.Get("http://127.0.0.1:5703/api/login/qrcode1").Response() + rsp, err := httplib.Post("https://api.kukuqaq.com/jd/qrcode").Response() if err != nil { return nil } - logs.Info(rsp.Body) - logs.Info("测试") - return rsp + body, err1 := ioutil.ReadAll(rsp.Body) + if err1 == nil { + fmt.Println(string(body)) + } + s := &QQuery{} + if len(body) > 0 { + json.Unmarshal(body, &s) + } + logs.Info(s.Data.QqLoginQrcode.Bytes) + //ddd, _ := base64.StdEncoding.DecodeString("data:image/png;base64,"+s.Data.QqLoginQrcode.Bytes) + + return s.Data.QqLoginQrcode.Bytes }, }, { diff --git a/qbot/main.go b/qbot/main.go index c3fbf43..aca4b26 100644 --- a/qbot/main.go +++ b/qbot/main.go @@ -75,13 +75,23 @@ func Main() { switch msg.(type) { case string: if bot != nil { - bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: msg.(string)}}}) + if strings.Contains(msg.(string), "data:image") { + photo := msg.(string) + //i := strings.Index(photo, ",") + //if i < 0 { + // log.Fatal("no comma") + //} + // + //dec := base64.NewDecoder(base64.StdEncoding, strings.NewReader(photo[i+1:])) + b := []byte(photo) + bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(b)}}}) + } else { + bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: msg.(string)}}}) + } } case *http.Response: data, _ := ioutil.ReadAll(msg.(*http.Response).Body) bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(data)}}}) - case byte: - } }