`
百卉含英
  • 浏览: 26809 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

钉钉机器人发送消息

 
阅读更多

    项目运行中的一些error log我们可以通过钉钉机器人发送到钉钉群,相关人员可以及时知晓。对于SpringBoot项目可以按照如下步骤设置:

 

    1)在pom中引入依赖

<dependency>
   <groupId>cn.snowheart</groupId>
   <artifactId>spring-boot-dingtalk-robot-starter</artifactId>
   <version>1.0.2.RELEASE</version>
</dependency>

     2)在application.properties中配置钉钉机器人的WebHook地址

dingtalk.robot.webhook=https://oapi.dingtalk.com/robot/send?access_token=[accessToekn]

     3) 在应用中引入DingTalkRobotClient

@Autowired
private DingTalkRobotClient dingTalkRobotClient;

 Note:1)如果项目中用到多个机器人,可以自定义配置不同的webhook配置,调用DingTalkRobotClient中显示webhook的方法。

    2)附源码

public class DingTalkRobotClient {
    @Autowired
    @Qualifier("dingTalkRobotRestTemplate")
    private RestTemplate restTemplate;
    @Value("${dingtalk.robot.prefix:https://oapi.dingtalk.com/robot/send?access_token=}")
    private String defaultUrlPrefix;
    @Value("${dingtalk.robot.webhook}")
    private String defaultWebhook;

    public DingTalkRobotClient() {
    }

    public DingTalkResponse sendMessageByURL(String url, BaseMessage message) {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity<Map> entity = new HttpEntity(message.toMessageMap(), headers);
        DingTalkResponse dingTalkResponse = (DingTalkResponse)this.restTemplate.postForObject(url, entity, DingTalkResponse.class, new Object[0]);
        if (!ResponseCodeType.OK.getValue().equals(dingTalkResponse.getErrcode())) {
            throw new DingTalkException(dingTalkResponse.getErrcode(), dingTalkResponse.getErrmsg());
        } else {
            return dingTalkResponse;
        }
    }

    public DingTalkResponse sendMessageByAccessToken(String accessToken, BaseMessage message) {
        return this.sendMessageByURL(this.defaultUrlPrefix + accessToken, message);
    }

    public DingTalkResponse sendMessage(BaseMessage message) {
        return this.sendMessageByURL(this.defaultWebhook, message);
    }

    public DingTalkResponse sendTextMessage(TextMessage message) {
        return this.sendMessage(message);
    }

    public DingTalkResponse sendTextMessage(String content) {
        return this.sendMessage(new TextMessage(content));
    }

    public DingTalkResponse sendTextMessage(String content, String[] atMobiles) {
        return this.sendMessage(new TextMessage(content, atMobiles));
    }

    public DingTalkResponse sendTextMessage(String content, boolean isAtAll) {
        return this.sendMessage(new TextMessage(content, isAtAll));
    }

    public DingTalkResponse sendLinkMessage(LinkMessage message) {
        return this.sendMessage(message);
    }

    public DingTalkResponse sendLinkMessage(String title, String text, String messageUrl) {
        return this.sendMessage(new LinkMessage(title, text, messageUrl));
    }

    public DingTalkResponse sendLinkMessage(String title, String text, String messageUrl, String picUrl) {
        return this.sendMessage(new LinkMessage(title, text, messageUrl, picUrl));
    }

    public DingTalkResponse sendMarkdownMessage(MarkdownMessage message) {
        return this.sendMessage(message);
    }

    public DingTalkResponse sendMarkdownMessage(String title, String text) {
        return this.sendMessage(new MarkdownMessage(title, text));
    }

    public DingTalkResponse sendMarkdownMessage(String title, String text, String[] atMobiles) {
        return this.sendMessage(new MarkdownMessage(title, text, atMobiles));
    }

    public DingTalkResponse sendMarkdownMessage(String title, String text, boolean isAtAll) {
        return this.sendMessage(new MarkdownMessage(title, text, isAtAll));
    }

    public DingTalkResponse sendActionCardMessage(ActionCardMessage message) {
        return this.sendMessage(message);
    }

    public DingTalkResponse sendActionCardMessage(String title, String text) {
        return this.sendMessage(new ActionCardMessage(title, text));
    }

    public DingTalkResponse sendActionCardMessage(String title, String text, HideAvatarType hideAvatar) {
        return this.sendMessage(new ActionCardMessage(title, text, hideAvatar));
    }

    public DingTalkResponse sendActionCardMessage(String title, String text, ActionCardButton button) {
        return this.sendMessage(new ActionCardMessage(title, text, button));
    }

    public DingTalkResponse sendActionCardMessage(String title, String text, HideAvatarType hideAvatar, ActionCardButton button) {
        return this.sendMessage(new ActionCardMessage(title, text, hideAvatar, button));
    }

    public DingTalkResponse sendFeedCardMessage(FeedCardMessage feedCardMessage) {
        return this.sendMessage(feedCardMessage);
    }

    public DingTalkResponse sendFeedCardMessage(List<FeedCardMessageItem> feedCardItems) {
        return this.sendMessage(new FeedCardMessage(feedCardItems));
    }
}

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    SQL Server通过钉钉机器人直接发送消息

    SQL Server通过钉钉机器人直接发送消息 直接存储过程完成调用机器人发信息 钉钉端无需安装 无需接口 直接使用

    钉钉机器人SQL存储直接调用发送消息.txt

    SQL调用钉钉机器人 使用存储直接发送消息 不需要额外的接口 不需要配置接口 直接发送消息省事 内含完整调用方法及实例

    钉钉机器人发送post接口

    钉钉机器人发送post接口,可以使用此脚本放机器人发信息

    C# 钉钉机器人对接(需要在钉钉生成access-token)

    在本项目中,你需要使用HttpClient来构造POST请求,将消息发送到钉钉机器人的Webhook地址。 **生成access_token**是对接过程的关键步骤。在钉钉的企业管理后台,你需要创建一个钉钉机器人并获取其Webhook地址,这个...

    钉钉机器人通知(控制台)

    钉钉机器人通知是一种高效的企业级通信工具,它允许开发者通过编程方式向钉钉用户或群组发送消息。在本项目中,我们看到的是一个名为“DingDingRobotNotify”的控制台应用程序,它能够通过CMD(命令行界面)调用来...

    钉钉机器人交互_信息推送_机器人_钉钉机器人_

    钉钉机器人本质上是通过HTTP POST请求向指定的Webhook发送JSON格式的数据,这个数据包含了要推送的消息内容。开发者可以自定义消息的类型(如文本、富文本、markdown等),以及消息的具体内容。 LabVIEW是美国国家...

    钉钉机器人MSSQL存储直接调用发送消息

    MSSQL调用钉钉机器人 使用存储直接发送消息 不需要额外的接口 不需要配置接口 直接发送消息省事 内含完整调用方法及实例

    Node.js-钉钉机器人消息推送NodejsSDK

    钉钉机器人是钉钉为企业提供的一种自动化工作流工具,可以通过发送消息到指定的工作群或者个人,实现信息的自动推送。这个Node.js SDK是对钉钉官方API的封装,简化了调用流程,让开发者能够更高效地与钉钉机器人进行...

    禅道用钩子调用钉钉机器人

    2. 实时消息推送:通过钉钉机器人,可以将禅道中的消息实时推送到钉钉群中。 3. 数据同步:通过钉钉机器人,可以实现禅道与其他系统之间的数据同步。 禅道用钩子调用钉钉机器人可以实现自动化的项目管理、实时消息...

    基于PHP实现钉钉群内机器人推送消息插件类

    基于PHP实现钉钉群内机器人推送消息插件类,消息预警

    通过钉钉机器人发送钉钉消息

    通过go语言实现简单的发送钉钉自定义消息demo....................................................................

    实现钉钉机器人自动发送自定义信息到钉钉群.rar

    6. **集成到业务系统**:将以上代码集成到你的业务系统中,当特定条件满足时(如系统报警、任务完成等),调用这个发送消息的功能。 此外,"alarm"这个文件名可能代表这个项目与报警或通知功能有关,可能是一个Java...

    C#HTTP_POST钉钉群机器人

    接下来,我们将使用C#来实现HTTP POST请求,向钉钉群机器人发送消息。C#提供了丰富的类库,如HttpClient,可以方便地处理网络请求。以下是一个简单的示例,展示了如何发送text类型的群消息: ```csharp using ...

    实现钉钉机器人自动发送自定义信息到钉钉群(对应源码).rar

    这会得到一个Webhook地址,它是发送消息的关键。 2. **构建消息结构**:钉钉支持多种消息格式,如文本、Markdown、富文本等。例如,一个简单的文本消息JSON结构如下: ```json { "msgtype": "text", "text": { ...

    钉钉通过机器人发送通知

    本文将详细介绍如何使用Java来实现通过钉钉机器人发送通知,并涉及相关库和代码示例。 首先,我们要明白Java是如何与钉钉机器人进行交互的。这通常涉及到HTTP请求的发送,因为钉钉机器人接收消息的方式就是监听...

    python向钉钉群发送消息、接受消息

    1. **HTTP请求库**:如`requests`,用于发送POST请求到钉钉机器人的Webhook地址。 2. **JSON数据格式**:钉钉API要求消息以JSON格式发送,Python中可使用`json`库来处理。 3. **Webhook地址**:在钉钉群设置的机器人...

    Node.js-钉钉机器人SDKforNode.js

    发送消息功能 钉钉机器人支持多种消息类型,如文本、markdown、链接、图片等。以下是一个简单的文本消息发送示例: ```javascript const DingTalkBot = require('dingtalk-bot-sdk'); const bot = new DingTalkBot...

    Kettle实现使用Http post控件实现钉钉机器人消息推送测试源代码

    实现一个通用的kettle消息推送,于是想到通过钉钉机器人推送消息到钉钉群组,这样就可以方便配置封装成通用的消息推送的映射子转换,实现后面作业或转换的消息提醒或者异常告警通知。已完成测试源代码分析

    钉钉机器人jar包

    【钉钉机器人jar包】是一种Java可执行文件,用于与钉钉企业通讯平台进行集成,实现自动化发送消息的功能。在企业或团队管理中,通过这样的jar包,开发者可以编写程序来自动化发送通知、报告或者提醒,提高工作效率。...

Global site tag (gtag.js) - Google Analytics