update
This commit is contained in:
+2
-1
@@ -8,4 +8,5 @@ develop/jd_cookie
|
||||
*.cache
|
||||
jd_wskey
|
||||
logs/*
|
||||
jd_*
|
||||
jd_*
|
||||
data
|
||||
@@ -17,7 +17,6 @@ require (
|
||||
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible
|
||||
github.com/mattn/go-isatty v0.0.13 // indirect
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/robfig/cron v1.2.0
|
||||
github.com/robfig/cron/v3 v3.0.1
|
||||
github.com/sirupsen/logrus v1.8.1
|
||||
github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816
|
||||
@@ -27,4 +26,5 @@ require (
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
|
||||
gopkg.in/tucnak/telebot.v2 v2.4.0
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
|
||||
)
|
||||
|
||||
@@ -201,8 +201,6 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT
|
||||
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
|
||||
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
|
||||
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
|
||||
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
|
||||
+20
-6
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/Mrs4s/go-cqhttp/global"
|
||||
"github.com/Mrs4s/go-cqhttp/global/config"
|
||||
"github.com/cdle/sillyGirl/core"
|
||||
yaml "gopkg.in/yaml.v3"
|
||||
|
||||
"github.com/Mrs4s/MiraiGo/binary"
|
||||
"github.com/Mrs4s/MiraiGo/client"
|
||||
@@ -41,6 +42,24 @@ func init() {
|
||||
conf.Account.Uin = int64(qq.GetInt("uin", 0))
|
||||
conf.Account.Password = qq.Get("password")
|
||||
conf.Message.ReportSelfMessage = true
|
||||
conf.Database = map[string]yaml.Node{
|
||||
"leveldb": {
|
||||
Kind: 4,
|
||||
Tag: "!!map",
|
||||
Content: []*yaml.Node{
|
||||
{
|
||||
Kind: 8,
|
||||
Tag: "!!str",
|
||||
Value: "enable",
|
||||
},
|
||||
{
|
||||
Kind: 8,
|
||||
Tag: "!!bool",
|
||||
Value: "true",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
if conf.Output.Debug {
|
||||
log.SetReportCaller(true)
|
||||
}
|
||||
@@ -197,16 +216,11 @@ func init() {
|
||||
core.Senders <- &Sender{
|
||||
Message: m,
|
||||
}
|
||||
|
||||
// cqm := coolq.ToStringMessage(m.Elements, 0, true)
|
||||
// fmt.Println(cqm, m.Self, m.Target, m.Sender.Uin)
|
||||
if m.Sender.Uin != c.Uin {
|
||||
c.MarkPrivateMessageReaded(m.Sender.Uin, int64(m.Time))
|
||||
}
|
||||
}
|
||||
OnGroupMessage := func(c *client.QQClient, m *message.GroupMessage) {
|
||||
// cqm := coolq.ToStringMessage(m.Elements, m.GroupCode, true)
|
||||
// fmt.Println(cqm, m.GroupCode, m.Sender.Uin)
|
||||
OnGroupMessage := func(_ *client.QQClient, m *message.GroupMessage) {
|
||||
core.Senders <- &Sender{
|
||||
Message: m,
|
||||
}
|
||||
|
||||
+26
-15
@@ -14,9 +14,10 @@ import (
|
||||
)
|
||||
|
||||
type Sender struct {
|
||||
Message interface{}
|
||||
matches [][]string
|
||||
chat *core.Chat
|
||||
Message interface{}
|
||||
matches [][]string
|
||||
Duration *time.Duration
|
||||
deleted bool
|
||||
}
|
||||
|
||||
func (sender *Sender) GetContent() string {
|
||||
@@ -141,10 +142,6 @@ func (sender *Sender) IsMedia() bool {
|
||||
|
||||
func (sender *Sender) Reply(msgs ...interface{}) error {
|
||||
msg := msgs[0]
|
||||
if sender.chat != nil {
|
||||
sender.chat.Push(msg)
|
||||
return nil
|
||||
}
|
||||
switch sender.Message.(type) {
|
||||
case *message.PrivateMessage:
|
||||
m := sender.Message.(*message.PrivateMessage)
|
||||
@@ -162,6 +159,7 @@ func (sender *Sender) Reply(msgs ...interface{}) error {
|
||||
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: content}}})
|
||||
}
|
||||
case *message.GroupMessage:
|
||||
var id int32
|
||||
m := sender.Message.(*message.GroupMessage)
|
||||
content := ""
|
||||
switch msg.(type) {
|
||||
@@ -172,34 +170,47 @@ func (sender *Sender) Reply(msgs ...interface{}) error {
|
||||
content = string(msg.([]byte))
|
||||
case *http.Response:
|
||||
data, _ := ioutil.ReadAll(msg.(*http.Response).Body)
|
||||
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)}}})
|
||||
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") {
|
||||
content = "\n" + content
|
||||
}
|
||||
bot.SendGroupMessage(m.GroupCode, &message.SendingMessage{Elements: []message.IMessageElement{&message.AtElement{Target: m.Sender.Uin}, &message.TextElement{Content: content}}})
|
||||
id = bot.SendGroupMessage(m.GroupCode, &message.SendingMessage{Elements: []message.IMessageElement{&message.AtElement{Target: m.Sender.Uin}, &message.TextElement{Content: content}}})
|
||||
}
|
||||
if id > 0 && sender.Duration != nil {
|
||||
go func() {
|
||||
time.Sleep(*sender.Duration)
|
||||
sender.Delete()
|
||||
MSG := bot.GetMessage(id)
|
||||
bot.Client.RecallGroupMessage(m.GroupCode, MSG["message-id"].(int32), MSG["internal-id"].(int32))
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *Sender) Delete() error {
|
||||
if sender.deleted {
|
||||
return nil
|
||||
}
|
||||
switch sender.Message.(type) {
|
||||
case *message.GroupMessage:
|
||||
sender.chat = &core.Chat{
|
||||
Class: sender.GetImType(),
|
||||
ID: sender.GetChatID(),
|
||||
UserID: sender.GetUserID(),
|
||||
}
|
||||
m := sender.Message.(*message.GroupMessage)
|
||||
if err := bot.Client.RecallGroupMessage(m.GroupCode, m.Id, m.InternalId); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
sender.deleted = true
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *Sender) Disappear(lifetime ...time.Duration) {
|
||||
|
||||
if len(lifetime) == 0 {
|
||||
sender.Duration = &core.Duration
|
||||
} else {
|
||||
sender.Duration = &lifetime[0]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user