亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實現(xiàn)給微信群中定時推送消息

 更新時間:2022年12月30日 15:03:41   作者:穆雄雄  
這篇文章主要為大家詳細(xì)介紹了Java如何實現(xiàn)給微信群中定時推送消息的功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以了解一下

前言

上一篇,我們介紹了如何通過調(diào)用接口的方式,將每日新聞發(fā)送到自己的博客中。我們會發(fā)現(xiàn),將新聞以文章的形式發(fā)布,并且相關(guān)內(nèi)容按照markdown的形式進行格式調(diào)整,有需要的可以點擊這里查看:如何將每日新聞添加到自己博客中

今天,我們看看如何將每日新聞推送到自己的社群中。

準(zhǔn)備工作

  • 你可以沒有自己的博客,但是你需要跑一個springboot的項目(java環(huán)境下,別的語言另說,不過需要在服務(wù)器上跑)
  • 你已經(jīng)申請了天行數(shù)據(jù)的【每日新聞簡報】接口
  • 你項目中引入了hutool的maven,因為需要用它來請求接口
  • 本位是以springboot項目來介紹的,別的實現(xiàn)方式也基本上一樣,大家可以簡單做個修改。
  • 注冊智能微秘書的賬號,能夠有權(quán)限調(diào)用openapi接口,不然無法實現(xiàn)給群里面發(fā)送消息。
  • 如果不想用自己的微信號來發(fā)送,則還需要準(zhǔn)備一個別的微信好。
  • 有自己的服務(wù)器。

以上準(zhǔn)備工作是個基礎(chǔ),如果你是個幾年的程序員的話,上面基本上沒啥問題。

注冊智能微秘書

準(zhǔn)備工作的1 2 3 4我就不做介紹了,2我在上篇文章中介紹過,現(xiàn)在我們介紹一下4,因為我們要想給微信群或者好友發(fā)消息,離不開一個技術(shù)wechaty,而如果我們自己去研究它,不值得,晦澀難懂(我自己去看過)

所以我們借助這個跳板去操作,它就是智能微秘書,它將wechaty封裝了下,我們直接調(diào)用它提供的api即可實現(xiàn),非常簡單。

首先我們打開智能微秘書,地址:這里

然后我們需要拿到這個key,調(diào)用接口的時候需要用到,在個人中心的里面就有

然后接下來我們寫后端代碼,實現(xiàn)給微信群中發(fā)送消息。

代碼實現(xiàn)

 /**
     * 將每日新聞推送到微信群中
     * @return
     */
    @Override
    public void sendWechat(JSONObject contentObject) {
        String url = WEI_MI_SHU_API + "/openapi/v1/chat/room";
        WeiZhiMiShuVO weiZhiMiShuVO = new WeiZhiMiShuVO();
        weiZhiMiShuVO.setType(1);
        //拿到發(fā)送的消息列表
        JSONArray array = contentObject.getJSONArray("list");
        StringBuilder sb = new StringBuilder("今天是:" + contentObject.getString("todayDate") + ",早安??????");
        int index = 1;
        for (Object o : array) {
            JSONObject item = (JSONObject) o;
            //標(biāo)題加時間
            sb.append("\n")
                    .append(index)
                    .append(".")
                    .append(item.getString("title"))
                    .append("\n");
            ;
                   /* .append("[")
                    .append(item.getString("mtime"))
                    .append("]")
                    .append("\n");*/
            index++;
        }
        sb.append("\n詳情請點擊:https://88688.team/articles/")
                .append(contentObject.getString("aid"))
                .append(" 查看~\n");
        sb.append("\n【早安寄語】")
                .append(goodMorning());
        System.out.println("發(fā)送的消息為:" + sb.toString());
        weiZhiMiShuVO.setContent(sb.toString());
        for (String str : SEND_GROUP) {
            JSONObject object = new JSONObject();
            object.put("apiKey", WEI_MI_SHU_KEY);
            object.put("roomName", str);
            object.put("message", weiZhiMiShuVO);
            HttpUtil
                    .createPost(url)
                    .body(JSON.toJSONString(object))
                    .execute()
                    .body()
            ;
        }

    }

代碼說明:

  • WEI_MI_SHU_API 是接口地址
  • 這個接口我傳了個JSONObject對象過來,里面存放的是新聞的標(biāo)題列表,時間,然后在接口中對該列表進行遍歷。
  • 【早安寄語】直接調(diào)用天行數(shù)據(jù)api的接口就行,封裝方法一樣。
  • apiKey為智能微秘書的
  • roomName是你要發(fā)送的群名稱
  • message是發(fā)送內(nèi)容的對象,我這邊新建了個實體

WeiZhiMiShuVO實體的代碼如下:

package com.shiyi.vo;

import lombok.Data;

/**
 * @author: muxiongxiong
 * @date: 2022年12月17日 21:26
 * 公眾號:雄雄的小課堂
 * 博客:https://blog.csdn.net/qq_34137397
 * 個人站:https://www.穆雄雄.com
 * 個人站:https://www.muxiongxiong.cn
 * @Description: 發(fā)送群消息的實體類(微秘書)
 */
@Data
public class WeiZhiMiShuVO {

    /**
     * 消息類型:1 文字 2 圖片url 3 圖片base64 4 url卡片鏈接
     */
    private Integer type;

    /**
     * 消息內(nèi)容,如果type為1必填,內(nèi)容換行使用\n
     */
    private String content;

    /**
     * type 為2,3,4必填,圖片地址,或者文件地址,例如png,jpg或者zip,excel都可以,必須是網(wǎng)絡(luò)地址
     */
    private String url;


    /**
     * type 為4必填,卡片鏈接的描述
     */
    private String description;


    /**
     * 	type 為4必填,卡片鏈接的縮略圖,網(wǎng)絡(luò)圖片地址
     */
    private String thumbnailUrl;


    /**
     * type 為4必填,卡片標(biāo)題內(nèi)容
     */
    private String title;

}

然后我們在控制器controller中,寫個接口調(diào)用一下該service即可,定時順便也加上。

 /**
     * 獲取每日新聞
     * @Scheduled 表示定時,每天早上5點執(zhí)行
     * @param
     * @return
     */
    @GetMapping(value = "/getDaysNews")
    @Scheduled(cron ="0 20 5 * * ?")
//    @Scheduled(cron ="0/1 * * * * ?")
    public ResponseResult getDaysNews() {
      
        return articleService.getDaysNews();
    }

這樣就實現(xiàn)了每天早上凌晨5.20給微信群眾推送消息了。

到此這篇關(guān)于Java實現(xiàn)給微信群中定時推送消息的文章就介紹到這了,更多相關(guān)Java微信群定時推送消息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring?@Conditional的使用與擴展源碼分析

    spring?@Conditional的使用與擴展源碼分析

    這篇文章主要介紹了spring?@Conditional的使用與擴展,這里需要注意如果Condition返回的是false,那么spirng就不會對方法或類進行解析,具體源碼分析跟隨小編一起看看吧
    2022-03-03
  • spring boot 不連接數(shù)據(jù)庫啟動的解決

    spring boot 不連接數(shù)據(jù)庫啟動的解決

    這篇文章主要介紹了spring boot 不連接數(shù)據(jù)庫啟動的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 在idea中使用JaCoCo插件統(tǒng)計單元測試覆蓋率的實現(xiàn)

    在idea中使用JaCoCo插件統(tǒng)計單元測試覆蓋率的實現(xiàn)

    這篇文章主要介紹了在idea中使用JaCoCo插件統(tǒng)計單元測試覆蓋率的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Spring根據(jù)XML配置文件注入屬性的方法

    Spring根據(jù)XML配置文件注入屬性的方法

    下面小編就為大家?guī)硪黄猄pring根據(jù)XML配置文件注入屬性的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Springboot實現(xiàn)XSS漏洞過濾的示例代碼

    Springboot實現(xiàn)XSS漏洞過濾的示例代碼

    這篇文章主要介紹了Springboot實現(xiàn)XSS漏洞過濾的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Spring的@Transactional注解使用詳細(xì)解析

    Spring的@Transactional注解使用詳細(xì)解析

    這篇文章主要介紹了Spring的@Transactional注解使用詳細(xì)解析,@Transactional 注解相信大家并不陌生,平時開發(fā)中很常用的一個注解,它能保證方法內(nèi)多個數(shù)據(jù)庫操作要么同時成功、要么同時失敗,需要的朋友可以參考下
    2023-11-11
  • SpringBoot集成內(nèi)存數(shù)據(jù)庫Sqlite的實踐

    SpringBoot集成內(nèi)存數(shù)據(jù)庫Sqlite的實踐

    sqlite這樣的內(nèi)存數(shù)據(jù)庫,小巧可愛,做小型服務(wù)端演示程序,非常好用,本文主要介紹了SpringBoot集成Sqlite,具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • 基于Java8 函數(shù)式接口理解及測試

    基于Java8 函數(shù)式接口理解及測試

    下面小編就為大家?guī)硪黄贘ava8 函數(shù)式接口理解及測試。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java 中的FileReader和FileWriter源碼分析_動力節(jié)點Java學(xué)院整理

    Java 中的FileReader和FileWriter源碼分析_動力節(jié)點Java學(xué)院整理

    本文給大家分享一段示例程序,通過示例代碼可以看出FileReader是基于InputStreamReader實現(xiàn)的,FileWriter是基于OutputStreamWriter實現(xiàn)的,具體程序代碼大家通過本文了解下吧
    2017-05-05
  • idea之Recompile、Rebuild和Build之間的區(qū)別及說明

    idea之Recompile、Rebuild和Build之間的區(qū)別及說明

    這篇文章主要介紹了idea之Recompile、Rebuild和Build之間的區(qū)別及說明,具有很好的參考價值,希望對有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論