华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂

华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第1张图片

目录

    • 前言
    • 效果图
    • 前期准备

前言

你是否遇到过这样的场景:

  • 自己的私域群或粉丝群,为了活跃群内气氛,每日早晨发送热点新闻至群中,供大家讨论
  • 自己的小团队,每天或者每周需要发送日报(周报),但是需要你每天去提醒,不然成员容易忘记
  • 做个福利群,每当有福利时,自动给微信群中推送

类似这样的情况,其实还有好多,那么有相关的解决方案吗?

答案当然是:有的,今天,我们就来看看,针对上述的应用场景,我们是如何通过华为云云耀云服务器L实例

效果图

华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第2张图片

华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第3张图片
华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第4张图片
华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第5张图片
上面就是我再实际应用中的场景,有的是提醒发日报,有的是主动推送新闻,有的是根据群成员发送关键词触发部分功能(签到功能),后期准备签到功能与我的小程序相结合,这样群成员在小程序中的操作和在群内操作,数据都是同步的。

前期准备

接下来,我们将来介绍一下如何实现上述所说的功能,需要我们准备如下环境

  1. 一个装有win系统的华为云云耀云服务器L实例,参考连接:点击这里

华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第6张图片
一定要是win系统,不然无法部署微信机器人
2. 准备个微信小号,如果没有,用自己常用的微信号也行(免责声明:可能有风险哈,自己斟酌)
3. 登录雄雄的小课堂-微信机器人服务端,如果没有账号,可以点击注册。

华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第7张图片
4. 打开基础配置的菜单,然后找到【自定义接口】
华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第8张图片
5. 点击【新增自定义接口】
华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第9张图片
华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第10张图片
将自己自定义的接口路径填写上去,即可。

  1. 自定义接口返回格式:文档地址在这里
    华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第11张图片
  2. 自定义接口参考代码:(高质量热点新闻15条),注意,这个代码是在自己项目中写的,写完之后打包成jar发布到服务器中即可,通过ip的方式或者域名的方式能请求该接口即可。
 /**
     * (微信机器人)高质量热点新闻15条
     */
    @PostMapping("/getNewsByReBang")
    public JSONObject getNewsByReBang() {
        SimpleDateFormat formatChina = new SimpleDateFormat("yyyy年MM月dd日");
        StringBuilder sb = new StringBuilder();
        // 将今天日期转换为 SimpleDateFormat 格式,并将明天的日期转换为 SimpleDateFormat 格式
        String todayDate = formatChina.format(new Date());
        //根据阳历计算农历
        Calendar today = Calendar.getInstance();
        today.setTime(new Date());
        Date tomorrowDate = today.getTime();
        String dateTomorrow = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(tomorrowDate);
        sb.append("今天是:" + todayDate);
        String week = "";
        try {
            week = DateUtils.getDaysByWeekChina(dateTomorrow);
            //today.setTime(DateUtils.chineseDateFormat.parse(todayDate));
            DateUtils lunar = new DateUtils(today);
            String nongli = lunar.toString();
            nongli = nongli.substring(nongli.indexOf("年") + 1);
            sb.append(",星期")
                    .append(week)
                    .append(",农历")
                    .append(nongli);

        } catch (ParseException e) {
            e.printStackTrace();
        }
        sb.append("。下面是今天的热点新闻");
        sb.append("br");
        sb.append("br");
        //从缓存中获取新闻信息
        Object rebangnews = redisService.getCacheObject("reBangNews");
        if (rebangnews == null) {
            //调用方法重新执行一遍
            setReBangNewsRedis();
            rebangnews = redisService.getCacheObject("reBangNews");
        }
        //获取缓存中的新闻信息
        JSONArray array = JSONArray.parseArray(rebangnews.toString());
        int i = 1;
        for (Object o : array) {
            sb.append(i).append(".").append(o);
            if (i == 7) {
                sb.append("#公众号:雄雄的小课堂");
            }
            sb.append("br");
            i++;
        }
        ApiGetInfoUtils apiGetInfoUtils = new ApiGetInfoUtils();
        JSONObject jsonObjectResult = JSON.parseObject(apiGetInfoUtils.getTxDataInfo(TIAN_KEY, 2, null));
        JSONObject resultObject = jsonObjectResult.getJSONObject("result");
        String jiyu = resultObject.getString("content");
        sb.append("br");
        sb.append("【微语】" + jiyu);
        sb.append("br");
        sb.append("#公众号:雄雄的小课堂,点击关注,可获得最新消息~");
        String result = sb.toString();
        JSONObject object = new JSONObject();
        object.put("code", 200);
        object.put("message", "success");
        object.put("line", "br");
        object.put("image", "");
        object.put("aiteOr", false);
        object.put("result", result);
        return object;
    }
  1. 继续回到微信机器人服务端界面,然后我们找到【定时任务】的菜单,新增一个定时任务即可。

华为云云耀云服务器L实例评测|定时给微信群中推送每日新闻及生活小常识_第12张图片
至此,该应用场景已经实现,就等着按照自己定的时间,看看能否发送成功即可,这个案例主要用到的服务器为华为云云耀云服务器L实例,再加上一个微信机器人,即可实现。如果想要稍微复杂点儿的功能,只需要更改自己的业务代码即可。

你可能感兴趣的:(运维,实施/运维,Linux操作,服务器,微信,生活)