From e07ab1059a665d2188c6e814fb730c6c8656e77f Mon Sep 17 00:00:00 2001 From: eatMoreApple <15055461510@163.com> Date: Tue, 22 Jun 2021 14:18:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6=E7=BE=A4?= =?UTF-8?q?=E5=8F=91=E5=92=8C=E6=B6=88=E6=81=AF=E6=92=A4=E5=9B=9E=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- message.go | 10 ++++++++++ relations.go | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/message.go b/message.go index bf60132..702b4cd 100644 --- a/message.go +++ b/message.go @@ -472,6 +472,16 @@ func (s *SentMessage) Revoke() error { return s.Self.RevokeMessage(s) } +// 转发该消息给好友 +func (s *SentMessage) ForwardToFriends(friends ...*Friend) error { + return s.Self.ForwardMessageToFriends(s, friends...) +} + +// 转发该消息给群组 +func (s *SentMessage) ForwardToGroups(groups ...*Group) error { + return s.Self.ForwardMessageToGroups(s, groups...) +} + type appmsg struct { Type int `xml:"type"` AppId string `xml:"appid,attr"` // wxeb7ec651dd0aefa9 diff --git a/relations.go b/relations.go index f7df8ec..a852602 100644 --- a/relations.go +++ b/relations.go @@ -172,6 +172,28 @@ func (f Friends) SendImage(file *os.File, delay ...time.Duration) error { return nil } +// 群发文件 +func (f Friends)SendFile(file *os.File, delay ...time.Duration) error { + total := getTotalDuration(delay...) + var ( + sentMessage *SentMessage + err error + self *Self + ) + for _, friend := range f { + self = friend.Self + time.Sleep(total) + if sentMessage != nil { + err = self.ForwardMessageToFriends(sentMessage, f...) + return err + } + if sentMessage, err = friend.SendFile(file); err != nil { + return err + } + } + return nil +} + type Group struct{ *User } // implement fmt.Stringer