新年快乐兄弟们,缺了好几天了今天稍微写写,最近更新了下公众号回复功能,增加了一些好玩的功能。
新增功能
目前加了两个,分别是微信昵称后加电话小字和60s看世界,以后再陆续加新的吧。
60s看世界
公众号内回复60s看世界
关键字即可获取当日最新新闻,以图片的形式返回给用户。
分享下实现方式,原本想着是定时爬取公众号里发送的最新新闻,然后调用接口保存到公众号素材库里,用户出发关键字后再根据素材id把图片发送给用户。
不过今天时间有点太匆忙了,没时间自己爬了就在网上找了个免费的api,周末再完善吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
response, err := http.Get("https://jx.iqfk.top/60s.php?key=54K55paw6Iqx6Zuo") defer response.Body.Close() if err != nil { return } body, err := io.ReadAll(response.Body) if err != nil { return } var data map[string]interface{} _ = json.Unmarshal(body, &data) timeStr := time.Now().Format("2006-01-02") if strings.Compare(data["data"].(map[string]interface{})["date"].(string), timeStr) == 0 { exist, err := global.Client.Exists(global.Ctx, timeStr).Result() if err != nil { return } if exist == 0 { response, err = http.Get(data["data"].(map[string]interface{})["image"].(string)) defer response.Body.Close() if err != nil { return } out, err := os.Create("./image/" + timeStr + ".png") if err != nil { panic(err) } defer out.Close() _, _ = io.Copy(out, response.Body) mediaID, _, _ := global.Official.OfficialAccount.GetMaterial().AddMaterial(material.MediaTypeImage, "./image/"+timeStr+".png") if err != nil { return } global.Client.Set(global.Ctx, timeStr, mediaID, 24*time.Hour) } }
|
贴下代码,用了redis来保存每天上传新闻图片的唯一标识ID,之后根据素材id找到素材发给用户。
电话昵称
公众号内回复电话昵称
即可进入昵称模式,之后回复任意电话数字会回复小标数字。
之后回复任意数字后台都会回复小标的数字,可以用来当微信昵称,直到回复Q
才会退出此模式。
闲聊
随迟但到,新年快乐大家