This commit is contained in:
cdle
2021-09-28 08:11:16 +08:00
parent ca4fe0aaf8
commit 4a10a587ed
4 changed files with 41 additions and 19 deletions
+2
View File
@@ -35,6 +35,8 @@ var E Edit
var R Replace
var N Notify
type ImageUrl string
type Faker struct {
Message string
matches [][]string
+3 -3
View File
@@ -92,14 +92,14 @@ func InitReplies() {
s.Reply(err)
return nil
}
s.Reply(httplib.Get(f).Response())
s.Reply(ImageUrl(f))
return nil
}
if reply.Request.Regex != "" {
d, _ := ioutil.ReadAll(rsp.Body)
res := regexp.MustCompile(reply.Request.Regex).FindStringSubmatch(string(d))
if len(res) != 0 {
s.Reply(httplib.Get(res[1]).Response())
s.Reply(ImageUrl(res[1]))
}
return nil
}
@@ -176,7 +176,7 @@ func InitReplies() {
v := re[0]
get := strings.Replace(strings.TrimRight(v, ")"), "image(", "", -1)
f, _ := jsonparser.GetString(data, strings.Split(get, ".")...)
s.Reply(httplib.Get(f).Response())
s.Reply(ImageUrl(f))
content = strings.Replace(content, v, "", -1)
}
content = strings.Replace(content, `[d]`, ",", -1)
+25 -11
View File
@@ -3,13 +3,12 @@ package qq
import (
"bytes"
"fmt"
"io/ioutil"
"net/http"
"strings"
"time"
"github.com/Mrs4s/MiraiGo/message"
"github.com/Mrs4s/go-cqhttp/coolq"
"github.com/beego/beego/v2/adapter/httplib"
"github.com/cdle/sillyGirl/core"
)
@@ -167,9 +166,14 @@ func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
content = msg.(string)
case []byte:
content = string(msg.([]byte))
case *http.Response:
data, _ := ioutil.ReadAll(msg.(*http.Response).Body)
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
case core.ImageUrl:
data, err := httplib.Get(string(msg.(core.ImageUrl))).Bytes()
if err != nil {
sender.Reply(err)
return 0, nil
} else {
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
}
}
if content != "" {
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: content}}})
@@ -182,9 +186,14 @@ func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
content = msg.(string)
case []byte:
content = string(msg.([]byte))
case *http.Response:
data, _ := ioutil.ReadAll(msg.(*http.Response).Body)
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
case core.ImageUrl:
data, err := httplib.Get(string(msg.(core.ImageUrl))).Bytes()
if err != nil {
sender.Reply(err)
return 0, nil
} else {
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
}
}
if content != "" {
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: content}}})
@@ -199,9 +208,14 @@ func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
case []byte:
content = string(msg.([]byte))
case *http.Response:
data, _ := ioutil.ReadAll(msg.(*http.Response).Body)
id = bot.SendGroupMessage(m.GroupCode, &message.SendingMessage{Elements: []message.IMessageElement{&message.AtElement{Target: m.Sender.Uin}, &message.TextElement{Content: "\n"}, &coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
case core.ImageUrl:
data, err := httplib.Get(string(msg.(core.ImageUrl))).Bytes()
if err != nil {
sender.Reply(err)
return 0, nil
} else {
id = bot.SendGroupMessage(m.GroupCode, &message.SendingMessage{Elements: []message.IMessageElement{&message.AtElement{Target: m.Sender.Uin}, &message.TextElement{Content: "\n"}, &coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
}
}
if content != "" {
if strings.Contains(content, "\n") {
+11 -5
View File
@@ -2,10 +2,10 @@ package tg
import (
"fmt"
"net/http"
"strings"
"time"
"github.com/astaxie/beego/httplib"
"github.com/beego/beego/v2/core/logs"
"github.com/cdle/sillyGirl/core"
tb "gopkg.in/tucnak/telebot.v2"
@@ -196,10 +196,16 @@ func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
})
}
rt, err = b.Send(r, msg.(string), options...)
case *http.Response:
rts, err := b.SendAlbum(r, tb.Album{&tb.Photo{File: tb.FromReader(msg.(*http.Response).Body)}}, options...)
if err == nil {
rt = &rts[0]
case core.ImageUrl:
rsp, err := httplib.Get(string(msg.(core.ImageUrl))).Response()
if err != nil {
sender.Reply(err)
return 0, nil
} else {
rts, err := b.SendAlbum(r, tb.Album{&tb.Photo{File: tb.FromReader(rsp.Body)}}, options...)
if err == nil {
rt = &rts[0]
}
}
}
if err != nil {