diff --git a/kfsend.go b/kfsend.go index 7baf783..fa06059 100644 --- a/kfsend.go +++ b/kfsend.go @@ -180,3 +180,28 @@ func kfSendNews(toUser, title, description string, articles []sendNewsArticle) { u := getKfSendURL() postJSON(j, u) } + +type sendMPNewsMsg struct { + ToUser string `json:"touser"` + MsgType string `json:"msgtype"` + MpNews struct { + MediaID string `json:"media_id"` + } `json:"mpnews"` +} + +func kfSendMPNews(toUser, mediaID string) { + s := sendMPNewsMsg{} + s.ToUser = toUser + s.MsgType = "mpnews" + s.MpNews.MediaID = mediaID + mashalAndSend(s) +} + +func mashalAndSend(v interface{}) (resp string, err error) { + //marshal + j, _ := json.Marshal(v) + log.Println(string(j)) + //send + u := getKfSendURL() + return postJSON(j, u) +} diff --git a/kfsend_test.go b/kfsend_test.go index fa521b2..3cc2760 100644 --- a/kfsend_test.go +++ b/kfsend_test.go @@ -79,3 +79,8 @@ func TestSendArticle(t *testing.T) { } kfSendNews(toUser, "总标题", "总描述", articles) } + +func TestSendArticleByMediaID(t *testing.T) { + SetupConfig() + kfSendMPNews(toUser, "e2iNEiSxCX5TV1WbFd0TQP4_MKtjcY1q-4UPIZFrHhw") +}