php 使用钉钉机器人推送消息

机器人发送消息频率限制

消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景(譬如系统监控报警)可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。

每个机器人每分钟最多发送20条。如果超过20条,会限流10分钟。

配置群机器人

方法二:
点击自己的头像 》设置 》机器人管理 》自定义
在这里插入图片描述

方法一:
创建群 》 群设置 》智能群助手 》添加机器人 》自定义

在这里插入图片描述
在这里插入图片描述

获取自定义机器人webhook

https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx

在这里插入图片描述

使用自定义机器人

(1)获取到Webhook地址后,用户可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。注意,发起POST请求时,必须将字符集编码设置成UTF-8。
(2)当前自定义机器人支持文本 (text)、链接 (link)、markdown(markdown)、ActionCard、FeedCard消息类型,大家可以根据自己的使用场景选择合适的消息类型,达到最好的展示样式。
(3)自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒(免打扰会话仍然通知提醒,首屏出现“有人@你”)。
(4)当前机器人尚不支持应答机制 (该机制指的是群里成员在聊天@机器人的时候,钉钉回调指定的服务地址,即Outgoing机器人)。

<?php
$webhook = "https://oapi.dingtalk.com/robot/send?access_token=ff6cd723bdb4455fe18******ba30dbeff007f5";/*** 使用钉钉机器人发送消息* @param $remote_server* @param $post_string* @return bool|string* @Date: 2021/8/6 16:31* @Author wzb*/
function request_by_curl($remote_server, $post_string) {$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $remote_server);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);curl_setopt($ch, CURLOPT_HTTPHEADER, array ('Content-Type: application/json;charset=utf-8'));curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// 线下环境不用开启curl证书验证, 未调通情况可尝试添加该代码curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);$data = curl_exec($ch);curl_close($ch);print_r($data);return $data;
}/*** 发送文本消息* @param string $webhook webhook地址* @param string $message 消息* @param array $atMobiles 用户的手机号码 [188XXXX5,188XXXX4]* @param false $isAtAll 是否@所有人。 true 是* @return bool|string* @Date: 2021/8/6 17:12* @Author wzb*/
function send_dingtalk_text($webhook='',$message="",$atMobiles=[],$isAtAll=false){$data = ['msgtype' => 'text','text' => ['content' => $message],'at'=>['atMobiles' => $atMobiles, //被@人的手机号'isAtAll'=>$isAtAll, // 是否@所有人]];return request_by_curl($webhook, json_encode($data));
}
echo send_dingtalk_text($webhook,'你好');/*** 发送钉钉link消息* @param string $webhook webhook地址* @param string $title 标题* @param string $message 消息* @param string $pic 图片* @param string $url 跳转地址* @param array $atMobiles 用户的手机号码 [188XXXX5,188XXXX4]* @return bool|string* @Date: 2021/8/6 16:55* @Author wzb*/
function send_dingtalk_link($webhook='',$title='',$message="",$pic='',$url='',$atMobiles=[]){$data = ["msgtype" => "link","link" => ["text" => $message, "title" => $title, "picUrl" => $pic, "messageUrl" => $url,],'at'=>['atMobiles' => $atMobiles, //被@人的手机号'isAtAll'=>false, // 是否@所有人]];return request_by_curl($webhook, json_encode($data));
}/*** 发送 markdown类型* @param string $webhook webhook地址* @param string $title 标题* @param string $message 消息 "#### 杭州天气 @156xxxx8827\n" .
"> 9度,西北风1级,空气良89,相对温度73%\n\n" .
"> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" .
"> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"* @param array $atMobiles 用户的手机号码 [188XXXX5,188XXXX4]* @return bool|string* @Date: 2021/8/6 16:57* @Author wzb*/
function send_dingtalk_markdown($webhook='',$title='',$message="",$atMobiles=[]){$data = ["msgtype" => "markdown","markdown" => ["title" => $title,"text" => $message],"at" => ["atMobiles" => $atMobiles,"isAtAll" => false]];return request_by_curl($webhook, json_encode($data));
}/*** ActionCard类型* @param string $webhook webhook地址* @param string $title* @param string $message ![screenshot](@lADOpwk3K80C0M0FoA)
### 乔布斯 20 年前想打造的苹果咖啡厅
Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划* @param array $atMobiles 用户的手机号码 [188XXXX5,188XXXX4]* @return bool|string* @Date: 2021/8/6 17:06* @Author wzb*/
function send_dingtalk_actionCard($webhook='',$title='',$message="",$url='',$atMobiles=[]){$data = ["msgtype" => "actionCard","actionCard" => ["title" => $title,"text" => $message,"hideAvatar" => "0","btnOrientation" => "0","singleTitle" => "阅读全文","singleURL" => $url],"at" => ["atMobiles" => $atMobiles,"isAtAll" => false]];return request_by_curl($webhook, json_encode($data));
}/*** @param string $webhook webhook地址* @param array $links = [["title" => $title,"messageURL" => "https://www.dingtalk.com/","picURL" => "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1567105217584&di=4c91fefc045f54267edcf8c544e3bd3b&imgtype=0&src=http%3A%2F%2Fk.zol-img.com.cn%2Fdcbbs%2F16420%2Fa16419096_s.jpg"],["title" => "时代的火车向前开2","messageURL" => "https://www.dingtalk.com/","picURL" => ""]]* @param array $atMobiles 用户的手机号码 [188XXXX5,188XXXX4]* @return bool|string* @Date: 2021/8/6 17:09* @Author wzb*/
function send_dingtalk_feedCard($webhook='',$links=[],$atMobiles=[]){$data = ["msgtype" => "feedCard","feedCard" => ["links" => $links,],"at" => ["atMobiles" => $atMobiles,"isAtAll" => false]];return request_by_curl($webhook, json_encode($data));
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37333.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用系统与钉钉集成案例及操作步骤

1、准备钉钉应用 1.1、注册钉钉账号 作为钉钉的企业管理员&#xff0c;首先登录钉钉官网&#xff0c;注册一个钉钉账号。 如果已经有账号&#xff0c;则直接使用即可。 钉钉官网&#xff1a;https://www.dingtalk.com/ 1.2、开通企业团队 企业管理员使用账号登录钉钉。 如…

钉钉新版服务端修改流程Task状态( 同意或拒绝审批流程 )API调用的大坑

文章目录 1.背景2.新版服务端的java依赖3.接入流程3.1 创建企业内部应用3.2 获取AppKey和AppSecret3.3 添加接口权限3.4 获取应用访问凭证accessToken3.5 调用服务端OA相关API 4.问题及其解决办法5.新版API相关代码分享 1.背景 由于之前做了一个财务收付款关联管理的项目中接入…

python/Django对接dingtalk-sdk企业内部开发对接钉钉过程手记

前提 需要拥有管理员账号或获得开发者权限 准备 钉钉方面 1. 创建钉钉应用 钉钉开放平台——应用开发——钉钉应用——创建应用 2. 记录应用凭证 记录应用的AgentId、AppKey、AppSecret 3. 打开应用权限 打开需要获取数据的接口权限 开发环境方面 1.安装依赖库 dingta…

钉钉发送消息 java

1、完成钉钉认证才能使用此功能 2、需要登录控制台进行创建应用操作 https://open-dev.dingtalk.com/fe/app 3、需要设置 权限范围及通讯录权限设置 参考 https://www.ngui.cc/el/778161.html?actiononClick pom <dependency><groupId>com.aliyun</groupId&g…

PHP 通过钉钉API向员工推送消息(以工作通知的形式)

通过钉钉 API 向员工推送消息分为多种形式, 今天只以工作通知的形式讲述。 第一步: 进入 钉钉开放平台 注册账号按照流程操作即可 进入开发者后台后需要进行创建应用(之所以创建应用, 是因为以应用为一个 demo) 第二步:创建应用(今天以创建小程序为例) 第三步: 获取企业内部…

LzDingTalk-免费的钉钉机器人框架

LzDingTalk-是一款免费的钉钉机器人框架 1.异常处理规则 2.稳定不易掉线 3.哈希多线程处理 再多消息也能轻松应对 4.框架完全免费&#xff0c;用爱发电&#xff01; 5.多样式API支持二次开发插件&#xff01; 蓝奏下载地址&#xff1a;DingTalk 密码&#xff1a;6jbd界面展示&a…

禅道接入钉钉工作通知与钉钉群机器人二次开发代码详解

目录 禅道接入钉钉工作通知与钉钉群机器人 一、钉钉工作通知使用步骤 1.进入钉钉管理后台工作台添加自建应用进入开发者平台 2.禅道中得操作 3.接收到消息 二、钉钉群机器人使用步骤 1.钉钉群进行设置群机器人 2.禅道设置 三、禅道二次开发添加新功能进行工作通知和群机…

推送Markdown格式信息到钉钉机器人

1.自定义机器人设置 根据钉钉官方开放文档进行自定义机器人的配置&#xff0c;文档地址为&#xff1a;自定义机器人接入 - 钉钉开放平台 (dingtalk.com) 2.Markdown推送形式 Markdown类型 参数说明 3.Markdown图片格式 Markdown中可以使用url连接的图片进行推送&#xff0c…

Java项目如何接入钉钉群机器人

创建群机器人&#xff1a;对于任意我们所在的群&#xff0c;我们都可以创建自己的机器人&#xff0c;不需要群主权限&#xff0c;每个机器人信息只能自己看到。 我们项目通过对应的链接调用机器人发送消息。 创建对应的鉴权方式&#xff0c; 关键字只要消息内容携带即可&…

雷军入局ChatGPT大战/ AutoGPT星标超PyTorch/ 马斯克星舰今晚发射…今日更多新鲜事在此...

h日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好&#xff0c;今天是4月17日星期一&#xff0c;新的一周要元气满满哦~ 今天科技圈有哪些新鲜事儿&#xff0c;和日报君一起来看看~ 马斯克星舰今晚发射&#xff1a;将进行直播&#xff0c;此前曾延期 SpaceX官网发布通告称&…

[论文阅读] Collaborative and Adversarial Learning of Focused and Dispersive Representation

[论文地址] [代码] [ICCV 21] Abstract 从结肠镜图像中自动分割息肉是计算机辅助诊断结直肠癌的一个重要步骤。近年来报道的大多数息肉分割方法都是基于完全监督的深度学习。然而&#xff0c;医生在诊断过程中对息肉图像的注释是非常耗时和昂贵的。在本文中&#xff0c;我们提…

2000元训练比肩ChatGPT的开源大模型!GPT-4亲自盖章认证,模型权重均可下载

鱼羊 编辑整理量子位 | 公众号 QbitAI 2000块&#xff0c;调教出一个达到ChatGPT九成功力的开源大模型。 还是被GPT-4亲自盖章认证实力的那种。 这事儿&#xff0c;一群主要来自加州大学伯克利分校的研究人员做到了。 如图中所见&#xff0c;这个模型名叫Vicuna &#xff08;小…

chatgpt赋能python:Python处理雷达基数据:从入门到实践

Python处理雷达基数据&#xff1a;从入门到实践 随着气象技术的不断发展&#xff0c;雷达探测技术已成为当今天气预报和气象研究的主要手段之一。雷达基数据是气象雷达接收到的未经加工的原始数据&#xff0c;因其包含大量天气信息&#xff0c;不仅在天气预报、天气预警等方面…

推演语言模型的大小与计算开销

2020年&#xff0c;OpenAI提出了在增加模型尺寸与提高模型性能之间的扩展定律&#xff0c;指出人们应该将大部分预算用于扩大模型规模。这篇论文直接推动了增大模型规模的浪潮。然而&#xff0c;在预算和内存有限的情况下&#xff0c;盲目扩大模型规模并不是提升模型性能的最佳…

codesblocks头文件的正确使用

之前对头文件如何引用一直百思不得其解&#xff0c;现在弄懂了&#xff0c;来复盘一下。关键点在于要建立工程文件。 下面以一个长度转换的程序来简单说明。 第一步&#xff0c;建立C语言项目。 在新建项目点击Console applicaton&#xff0c;接着打上名称&#xff0c;默认设置…

jdbc工具类的定义和使用

DBUtils的定义 导入3个jar包 代码实现 public class DBUtils {//1.配置数据库连接信息&#xff08;MySQL&#xff09;//数据库驱动private static final String DRIVER "com.mysql.jdbc.Driver";//数据库名private static final String DATABASE "test_db&q…

Servlet的介绍与使用

Servlet简介 servlet是运行在服务器上的应用程序&#xff0c; 它的作用是实现前端与后台的数据交互。 Servlet生命周期 三个方法 init()&#xff1a;初始化 service()&#xff1a;处理客户端请求 destroy()&#xff1a;终止 工作原理 客户端向服务器发送一个http请求服务器…

python破解md5_python怎么使用md5加密解密

python采用hashlib这个标准库实现MD5加密解密。方法是:1、updata传数据;2、利用hexdigest进行16进制转换; update(arg)传入arg对象来更新hash的对象。必须注意的是,该方法只接受byte类型,否则会报错。这就是要在参数前添加b来转换类型的原因。 同时要注意,重复调用update…

分布式任务调度平台XXL-JOB的简单使用

推荐使用xxl2.2.0版本 参考地址: 分布式任务调度平台XXL-JOB xxl-job安装到本地打开项目工程对yml配置文件进行修改 主要修改数据库地址和告警邮件地址 将服务注册到xxl-job -如果在xxl里配置了accessToken 服务里就需要使用同样的Token 注册到xxl-job-admin之后打开xxl可视…

selenium获取页面数据入数据库

Selenium是一个用于Web应用程序测试的工具&#xff0c;但是也可以爬取页面中的数据。 开发环境是内网&#xff08;局域网&#xff09;&#xff0c;项目工程是web项目&#xff0c;jdk使用的1.8&#xff0c;tomcat使用的 8。 web项目&#xff1a; 启动时使用tomcat&#xff0c;…