机器人发送消息频率限制
消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景(譬如系统监控报警)可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。
每个机器人每分钟最多发送20条。如果超过20条,会限流10分钟。
配置群机器人
方法二: 点击自己的头像 》设置 》机器人管理 》自定义 
方法一: 创建群 》 群设置 》智能群助手 》添加机器人 》自定义
 
获取自定义机器人webhook
https:

使用自定义机器人
(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";
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_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;
}
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,'你好');
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));
}
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));
}
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));
}
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));
}
|