From 281469d620e050da9b2e06f65809316fc57ee680 Mon Sep 17 00:00:00 2001 From: eatmoreapple <15055461510@163.com> Date: Wed, 13 Oct 2021 15:15:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0message=E8=A1=8C=E4=B8=BA?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- message.go | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/message.go b/message.go index fefe82e..03b0a16 100644 --- a/message.go +++ b/message.go @@ -260,6 +260,38 @@ func (m *Message) GetFile() (*http.Response, error) { return nil, errors.New("unsupported type") } +// GetPicture 获取图片消息的响应 +func (m *Message) GetPicture() (*http.Response, error) { + if !(m.IsPicture() || m.IsEmoticon()) { + return nil, errors.New("picture message required") + } + return m.Bot.Caller.Client.WebWxGetMsgImg(m, m.Bot.Storage.LoginInfo) +} + +// GetVoice 获取录音消息的响应 +func (m *Message) GetVoice() (*http.Response, error) { + if !m.IsVoice() { + return nil, errors.New("voice message required") + } + return m.Bot.Caller.Client.WebWxGetVoice(m, m.Bot.Storage.LoginInfo) +} + +// GetVideo 获取视频消息的响应 +func (m *Message) GetVideo() (*http.Response, error) { + if !m.IsVideo() { + return nil, errors.New("video message required") + } + return m.Bot.Caller.Client.WebWxGetVideo(m, m.Bot.Storage.LoginInfo) +} + +// GetMedia 获取媒体消息的响应 +func (m *Message) GetMedia() (*http.Response, error) { + if !m.IsMedia() { + return nil, errors.New("media message required") + } + return m.Bot.Caller.Client.WebWxGetMedia(m, m.Bot.Storage.LoginInfo) +} + // Card 获取card类型 func (m *Message) Card() (*Card, error) { if !m.IsCard() { @@ -295,11 +327,7 @@ func (m *Message) Agree(verifyContents ...string) error { if !m.IsFriendAdd() { return fmt.Errorf("friend add message required") } - var builder strings.Builder - for _, v := range verifyContents { - builder.WriteString(v) - } - return m.Bot.Caller.WebWxVerifyUser(m.Bot.Storage, m.RecommendInfo, builder.String()) + return m.Bot.Caller.WebWxVerifyUser(m.Bot.Storage, m.RecommendInfo, strings.Join(verifyContents, "")) } // AsRead 将消息设置为已读