update
This commit is contained in:
@@ -27,8 +27,10 @@ type Sender interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Edit int
|
type Edit int
|
||||||
|
type Replace int
|
||||||
|
|
||||||
var E Edit
|
var E Edit
|
||||||
|
var R Replace
|
||||||
|
|
||||||
type Faker struct {
|
type Faker struct {
|
||||||
Message interface{}
|
Message interface{}
|
||||||
|
|||||||
+19
-2
@@ -137,11 +137,15 @@ func (sender *Sender) IsMedia() bool {
|
|||||||
func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
|
func (sender *Sender) Reply(msgs ...interface{}) (int, error) {
|
||||||
msg := msgs[0]
|
msg := msgs[0]
|
||||||
var edit *core.Edit
|
var edit *core.Edit
|
||||||
|
var replace *core.Replace
|
||||||
for _, item := range msgs {
|
for _, item := range msgs {
|
||||||
switch item.(type) {
|
switch item.(type) {
|
||||||
case core.Edit:
|
case core.Edit:
|
||||||
v := item.(core.Edit)
|
v := item.(core.Edit)
|
||||||
edit = &v
|
edit = &v
|
||||||
|
case core.Replace:
|
||||||
|
v := item.(core.Replace)
|
||||||
|
replace = &v
|
||||||
case time.Duration:
|
case time.Duration:
|
||||||
du := item.(time.Duration)
|
du := item.(time.Duration)
|
||||||
sender.Duration = &du
|
sender.Duration = &du
|
||||||
@@ -165,10 +169,23 @@ func (sender *Sender) Reply(msgs ...interface{}) (int, 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 {
|
if edit != nil {
|
||||||
b.Edit(sender.reply, msg.(string))
|
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
|
return sender.reply.ID, nil
|
||||||
}
|
}
|
||||||
|
if replace != nil {
|
||||||
|
b.Delete(&tb.Message{
|
||||||
|
ID: int(*edit),
|
||||||
|
})
|
||||||
|
}
|
||||||
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...)
|
||||||
|
|||||||
Reference in New Issue
Block a user