This commit is contained in:
cdle
2021-09-18 17:28:22 +08:00
parent 5398276137
commit 3b054ae145
2 changed files with 21 additions and 2 deletions
+2
View File
@@ -27,8 +27,10 @@ type Sender interface {
}
type Edit int
type Replace int
var E Edit
var R Replace
type Faker struct {
Message interface{}
+19 -2
View File
@@ -137,11 +137,15 @@ func (sender *Sender) IsMedia() bool {
func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
msg := msgs[0]
var edit *core.Edit
var replace *core.Replace
for _, item := range msgs {
switch item.(type) {
case core.Edit:
v := item.(core.Edit)
edit = &v
case core.Replace:
v := item.(core.Replace)
replace = &v
case time.Duration:
du := item.(time.Duration)
sender.Duration = &du
@@ -165,10 +169,23 @@ func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
case []byte:
rt, err = b.Send(r, string(msg.([]byte)), options...)
case string:
if edit != nil && sender.reply != nil {
b.Edit(sender.reply, msg.(string))
if edit != nil {
if *edit == 0 {
if sender.reply != nil {
b.Edit(sender.reply, msg.(string))
}
} else {
b.Edit(&tb.Message{
ID: int(*edit),
}, msg.(string))
}
return sender.reply.ID, nil
}
if replace != nil {
b.Delete(&tb.Message{
ID: int(*edit),
})
}
rt, err = b.Send(r, msg.(string), options...)
case *http.Response:
_, err = b.SendAlbum(r, tb.Album{&tb.Photo{File: tb.FromReader(msg.(*http.Response).Body)}}, options...)