From 439cb2a346612f01657afa159bd1b952c9c9f0b3 Mon Sep 17 00:00:00 2001 From: Marcel Kocks Date: Tue, 31 Dec 2019 22:32:39 +0100 Subject: [PATCH 1/2] cleanup naming of internal variables to improve unstanding make 'private' varibles lowercase --- message.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/message.go b/message.go index 8e0ccdfb..1596e9f8 100644 --- a/message.go +++ b/message.go @@ -654,7 +654,7 @@ type StickerMessage struct { func getStickerMessage(msg *proto.WebMessageInfo) StickerMessage { sticker := msg.GetMessage().GetStickerMessage() - StickerMessage := StickerMessage{ + stickerMessage := StickerMessage{ Info: getMessageInfo(msg), url: sticker.GetUrl(), mediaKey: sticker.GetMediaKey(), @@ -665,7 +665,7 @@ func getStickerMessage(msg *proto.WebMessageInfo) StickerMessage { ContextInfo: getMessageContext(sticker.GetContextInfo()), } - return StickerMessage + return stickerMessage } /* @@ -691,7 +691,7 @@ type ContactMessage struct { func getContactMessage(msg *proto.WebMessageInfo) ContactMessage { contact := msg.GetMessage().GetContactMessage() - ContactMessage := ContactMessage{ + contactMessage := ContactMessage{ Info: getMessageInfo(msg), DisplayName: contact.GetDisplayName(), @@ -700,7 +700,7 @@ func getContactMessage(msg *proto.WebMessageInfo) ContactMessage { ContextInfo: getMessageContext(contact.GetContextInfo()), } - return ContactMessage + return contactMessage } func getContactMessageProto(msg ContactMessage) *proto.WebMessageInfo { From eda8ed73f8e1f55ba45a1e83f78edb547c9cad2f Mon Sep 17 00:00:00 2001 From: Marcel Kocks Date: Tue, 31 Dec 2019 22:56:35 +0100 Subject: [PATCH 2/2] cleanup func (wac *Conn) Send(msg interface{}) (string, error) --- message.go | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/message.go b/message.go index 1596e9f8..77e7e1c3 100644 --- a/message.go +++ b/message.go @@ -23,68 +23,53 @@ const ( MediaDocument MediaType = "WhatsApp Document Keys" ) -var msgInfo MessageInfo - func (wac *Conn) Send(msg interface{}) (string, error) { - var err error - var ch <-chan string var msgProto *proto.WebMessageInfo switch m := msg.(type) { case *proto.WebMessageInfo: - ch, err = wac.sendProto(m) + msgProto = m case TextMessage: msgProto = getTextProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) case ImageMessage: + var err error m.url, m.mediaKey, m.fileEncSha256, m.fileSha256, m.fileLength, err = wac.Upload(m.Content, MediaImage) if err != nil { return "ERROR", fmt.Errorf("image upload failed: %v", err) } msgProto = getImageProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) case VideoMessage: + var err error m.url, m.mediaKey, m.fileEncSha256, m.fileSha256, m.fileLength, err = wac.Upload(m.Content, MediaVideo) if err != nil { return "ERROR", fmt.Errorf("video upload failed: %v", err) } msgProto = getVideoProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) case DocumentMessage: + var err error m.url, m.mediaKey, m.fileEncSha256, m.fileSha256, m.fileLength, err = wac.Upload(m.Content, MediaDocument) if err != nil { return "ERROR", fmt.Errorf("document upload failed: %v", err) } msgProto = getDocumentProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) case AudioMessage: + var err error m.url, m.mediaKey, m.fileEncSha256, m.fileSha256, m.fileLength, err = wac.Upload(m.Content, MediaAudio) if err != nil { return "ERROR", fmt.Errorf("audio upload failed: %v", err) } msgProto = getAudioProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) case LocationMessage: msgProto = GetLocationProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) case LiveLocationMessage: msgProto = GetLiveLocationProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) case ContactMessage: msgProto = getContactMessageProto(m) - msgInfo = getMessageInfo(msgProto) - ch, err = wac.sendProto(msgProto) default: return "ERROR", fmt.Errorf("cannot match type %T, use message types declared in the package", msg) } + ch, err := wac.sendProto(msgProto) if err != nil { return "ERROR", fmt.Errorf("could not send proto: %v", err) } @@ -99,7 +84,7 @@ func (wac *Conn) Send(msg interface{}) (string, error) { return "ERROR", fmt.Errorf("message sending responded with %d", resp["status"]) } if int(resp["status"].(float64)) == 200 { - return msgInfo.Id, nil + return getMessageInfo(msgProto).Id, nil } case <-time.After(wac.msgTimeout): return "ERROR", fmt.Errorf("sending message timed out")