update
This commit is contained in:
@@ -26,6 +26,8 @@ type Sender interface {
|
|||||||
Disappear(lifetime ...time.Duration)
|
Disappear(lifetime ...time.Duration)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Edit string
|
||||||
|
|
||||||
type Faker struct {
|
type Faker struct {
|
||||||
Message interface{}
|
Message interface{}
|
||||||
matches [][]string
|
matches [][]string
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ func initSys() {
|
|||||||
Rules: []string{"raw ^升级$"},
|
Rules: []string{"raw ^升级$"},
|
||||||
Admin: true,
|
Admin: true,
|
||||||
Handle: func(s Sender) interface{} {
|
Handle: func(s Sender) interface{} {
|
||||||
s.Disappear()
|
|
||||||
s.Reply(name() + "开始检查核心功能。")
|
s.Reply(name() + "开始检查核心功能。")
|
||||||
update := false
|
update := false
|
||||||
record := func(b bool) {
|
record := func(b bool) {
|
||||||
|
|||||||
+4
-1
@@ -151,10 +151,13 @@ func (sender *Sender) IsMedia() bool {
|
|||||||
|
|
||||||
func (sender *Sender) Reply(msgs ...interface{}) error {
|
func (sender *Sender) Reply(msgs ...interface{}) error {
|
||||||
msg := msgs[0]
|
msg := msgs[0]
|
||||||
if len(msgs) > 1 {
|
for _, item := range msgs {
|
||||||
|
switch item.(type) {
|
||||||
|
case time.Duration:
|
||||||
du := msgs[1].(time.Duration)
|
du := msgs[1].(time.Duration)
|
||||||
sender.Duration = &du
|
sender.Duration = &du
|
||||||
}
|
}
|
||||||
|
}
|
||||||
switch sender.Message.(type) {
|
switch sender.Message.(type) {
|
||||||
case *message.PrivateMessage:
|
case *message.PrivateMessage:
|
||||||
m := sender.Message.(*message.PrivateMessage)
|
m := sender.Message.(*message.PrivateMessage)
|
||||||
|
|||||||
+14
-1
@@ -16,6 +16,7 @@ type Sender struct {
|
|||||||
matches [][]string
|
matches [][]string
|
||||||
Duration *time.Duration
|
Duration *time.Duration
|
||||||
deleted bool
|
deleted bool
|
||||||
|
reply *tb.Message
|
||||||
}
|
}
|
||||||
|
|
||||||
var tg = core.NewBucket("tg")
|
var tg = core.NewBucket("tg")
|
||||||
@@ -135,10 +136,17 @@ func (sender *Sender) IsMedia() bool {
|
|||||||
|
|
||||||
func (sender *Sender) Reply(msgs ...interface{}) error {
|
func (sender *Sender) Reply(msgs ...interface{}) error {
|
||||||
msg := msgs[0]
|
msg := msgs[0]
|
||||||
if len(msgs) > 1 {
|
var edit *core.Edit
|
||||||
|
for _, item := range msgs {
|
||||||
|
switch item.(type) {
|
||||||
|
case core.Edit:
|
||||||
|
v := msgs[2].(core.Edit)
|
||||||
|
edit = &v
|
||||||
|
case time.Duration:
|
||||||
du := msgs[1].(time.Duration)
|
du := msgs[1].(time.Duration)
|
||||||
sender.Duration = &du
|
sender.Duration = &du
|
||||||
}
|
}
|
||||||
|
}
|
||||||
var rt *tb.Message
|
var rt *tb.Message
|
||||||
var r tb.Recipient
|
var r tb.Recipient
|
||||||
var options = []interface{}{}
|
var options = []interface{}{}
|
||||||
@@ -157,6 +165,10 @@ func (sender *Sender) Reply(msgs ...interface{}) error {
|
|||||||
case []byte:
|
case []byte:
|
||||||
rt, err = b.Send(r, string(msg.([]byte)), options...)
|
rt, err = b.Send(r, string(msg.([]byte)), options...)
|
||||||
case string:
|
case string:
|
||||||
|
if edit != nil && sender.reply != nil {
|
||||||
|
b.Edit(sender.reply, msg.(string))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
rt, err = b.Send(r, msg.(string), options...)
|
rt, err = b.Send(r, msg.(string), options...)
|
||||||
case *http.Response:
|
case *http.Response:
|
||||||
_, err = b.SendAlbum(r, tb.Album{&tb.Photo{File: tb.FromReader(msg.(*http.Response).Body)}}, options...)
|
_, err = b.SendAlbum(r, tb.Album{&tb.Photo{File: tb.FromReader(msg.(*http.Response).Body)}}, options...)
|
||||||
@@ -176,6 +188,7 @@ func (sender *Sender) Reply(msgs ...interface{}) error {
|
|||||||
b.Delete(rt)
|
b.Delete(rt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
sender.reply = rt
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user