说明

群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。目前,大部分机器人在添加后,还需要进行Webhook配置,才可正常使用(配置说明详见操作流程中的帮助链接)。

例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步。通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。

另外,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警通过自定义机器人聚合到钉钉群实现提醒功能。

安装

$ composer require saviorlv/yii2-dingtalk -vvv
```

配置

在使用本扩展之前,你需要去 群机器人 获取相关信息。

使用

在config/main.php配置文件中定义component配置信息
'components' => [
.....
'robot' => [
'class' => 'Saviorlv\Dingtalk\Robot',
'accessToken' => 'xxxxxxxxx'
],
....
]

发送 Text 信息

方法:

public function sendTextMsg($content, array $atMobiles = [], $isAtAll = false){}

参数:

参数 参数类型 必须 说明
content String 消息内容
atMobiles Array 被@人的手机号
isAtAll bool @所有人时:true,否则为:false

实例:

$response = Yii::$app->robot->sendTextMsg(
"必要忘记上下班打卡",
[
136*****134,
136*****132
],
false
);

发送 Link 链接

方法:

public function sendLinkMsg($title, $text, $picUrl = '', $messageUrl){}

参数:

参数 参数类型 必须 说明
title String 消息标题
text String 消息内容。如果太长只会部分展示
messageUrl String 点击消息跳转的URL
picUrl String 图片URL

实例:

$response = Yii::$app->robot->sendLinkMsg(
"上下班打卡",
"有些同志上下班就是不打卡,QAQ",
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1536321778370&di=46a7abc85f6fe1de8df8fbdc5b95d68d&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201407%2F21%2F20140721224026_KU3GA.thumb.700_0.jpeg",
"https://github.com/saviorlv?tab=repositories"
);

发送 MarkDown 消息

方法:

public function sendMarkdownMsg($title, $content, array $atMobiles = [], $isAtAll = false){}

参数:

参数 必选 类型 说明
title true string 首屏会话透出的展示内容
content true string markdown格式的消息
atMobiles Array 被@人的手机号(在text内容里要有@手机号)
isAtAll bool @所有人时:true,否则为:false

实例:

$response = Yii::$app->robot->sendMarkdownMsg(
"上下班打卡",
" ###有些同志上下班就是不打卡,`QAQ`",
[
136*****134,
136*****132
],
false
);

整体跳转 ActionCard类型

方法:

public function sendActionCardMsg($title, $content, $singleURL, $hideAvatar = 0, $btnOrientation = 0, $singleTitle = '阅读原文'){}

参数:

参数 必选 类型 说明
title true string 首屏会话透出的展示内容
content true string markdown格式的消息
singleTitle true string 单个按钮的方案。(设置此项和singleURL后btns无效)
singleURL true string 点击singleTitle按钮触发的URL
btnOrientation false string 0-按钮竖直排列,1-按钮横向排列
hideAvatar false string 0-正常发消息者头像,1-隐藏发消息者头像

实例:

$response = Yii::$app->robot->sendActionCardMsg(
"上下班打卡",
" 有些同志上下班就是不打卡,QAQ",
"https://github.com/saviorlv?tab=repositories",
0,
0,
"你看不看"
);

独立跳转 ActionCard 类型

方法:

public function sendSingleActionCardMsg($title, $content, $hideAvatar = 0, $btnOrientation = 0, array $btns=[]){}

参数:

参数 必选 类型 说明
title true string 首屏会话透出的展示内容
content true string markdown格式的消息
btns true array 按钮的信息:title-按钮方案,actionURL-点击按钮触发的URL
btnOrientation false string 0-按钮竖直排列,1-按钮横向排列
hideAvatar false string 0-正常发消息者头像,1-隐藏发消息者头像

实例:

$response = Yii::$app->robot->sendSingleActionCardMsg(
"上下班打卡",
" 有些同志上下班就是不打卡,QAQ",
0,
1,
[
[
"title"=> "内容不错",
"actionURL"=> "https://www.dingtalk.com/"
],
[
"title"=> "不感兴趣",
"actionURL"=> "https://www.dingtalk.com/"
]
]
);

FeedCard 类型

方法:

public function sendFeedCardMsg(array $links=[]){}

参数:

参数 必选 类型 说明
title true string 单条信息文本
messageURL true string 点击单条信息到跳转链接
picURL true string 单条信息后面图片的URL

实例:

  $response = Yii::$app->robot->sendFeedCardMsg([
[
"title"=> "时代的火车向前开",
"messageURL"=> "https://mp.weixin.qq.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI",
"picURL"=> "http://b.hiphotos.baidu.com/image/pic/item/f603918fa0ec08fa98d87c8054ee3d6d55fbda39.jpg"
],[
"title"=> "时代的火车向前开",
"messageURL"=> "https://mp.weixin.qq.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI",
"picURL"=> "http://b.hiphotos.baidu.com/image/pic/item/f603918fa0ec08fa98d87c8054ee3d6d55fbda39.jpg"
],
]);

参考

原文地址:https://segmentfault.com/a/1190000016351840

yii2-dingtalk 钉钉群机器人的更多相关文章

  1. nodejs通过钉钉群机器人推送消息

    nodejs 通过钉钉群机器人推送消息 Intro 最近在用 nodejs 写爬虫,之前的 nodejs 爬虫代码用 js 写的,感觉可维护性太差,也没有智能提示,于是把js改用ts(typescri ...

  2. Zabbix通过与微信、钉钉整合实现实时告警

    abbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信.钉钉作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警 ...

  3. Asp.Net Core对接钉钉群机器人

    钉钉作为企业办公越来越常用的软件,对于企业内部自研系统提供接口支持,以此来打通多平台下的数据,本次先使用最简单的钉钉群机器人完成多种形式的消息推送,参考钉钉开发文档中自定义机器人环节,此次尝试所花的时 ...

  4. Sentry快速开始并集成钉钉群机器人

    Sentry(直译为:哨兵)是一个开源错误跟踪服务,帮助开发人员实时监控和修复崩溃 Sentry本质上是一种帮助您实时监控和修复崩溃的服务 1.  安装客户端SDK 这里我们安装Java平台的SDK, ...

  5. zabbix 配合钉钉群机器人(webhook) 报警

    首先建钉钉群,添加一个自定义机器人拿到webhook zabbix添加一个报警媒介 搞一个shell脚本来启动Python脚本(直接用zabbix调Python脚本不行,不知道什么原因) vim di ...

  6. 用Python实现阿里钉钉机器人读取数据库内容自动发群通知

    最近想把一些预警数据信息按照一定的要求自动发送到移动端APP,最终把目标放在了腾讯的微信和阿里的钉钉软件上,由于刚开始学习python,于是编程工具想用python来实现.微信使用群体最广,通过一天的 ...

  7. 通知神器——java调用钉钉群自定义机器人

    创建群自定义机器人 在指定钉钉群(或者随便拉两个人建个群,然后把别人T出去)的群设置里选择 群机器人 -> 自定义,如图: 然后,添加机器人,设置名字,添加成功时如下图: 其中webhook非常 ...

  8. 怎么用python 3 开发钉钉群机器人

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Python绿色通道 PS:如有需要Python学习资料的小伙伴可以加 ...

  9. JIRA对接钉钉群机器人-实现任务的指派通知

    一.前提 Jira Software.钉钉群.RESTful服务.LDAP服务 二.流程图 三.对接步骤 1.创建项目群,把相关人员拉入群 2.钉钉群的智能群助手里添加自定义机器人 3.设置机器人,安 ...

随机推荐

  1. 《简明 Python 教程》笔记

    基础 字符串:python 中字符串可以用单引号.双引号和三个引号括起来,其中三个引号可以用来指定多行的字符串. print('hello'* 3) 连续打印 3 个 hello 格式化:print ...

  2. 自己定义控件三部曲之动画篇(七)——ObjectAnimator基本使用

    前言: 假如生活欺骗了你, 不要悲伤,不要心急! 忧郁的日子里须要镇静: 相信吧,快乐的日子终将会来临! 心儿永远向往着未来: 如今却常是忧郁. 一切都是瞬息,一切都将会过去: 而那过去了的,就会成为 ...

  3. 拒绝switch,程序加速之函数指针数组

    先看一个使用switch语句的程序: #include <stdio.h> #include <time.h> //加法 int add(int a,int b) { retu ...

  4. Linux下叹号!的用法

    在定义包含!的字符串变量时,出现了以下提示错误. 注意:在centos系统下错误,在Fedora系统可以正常运行. 修正方法有以下几种: (1)将整个字符串用单引号引起来. (2)在!后添加空格. ( ...

  5. android 添加新的键值,自定义按键【转】

    本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...

  6. The Triangle--nyoj 18

    The Triangle 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure ...

  7. hihoCoder-1828 2018亚洲区预选赛北京赛站网络赛 A.Saving Tang Monk II BFS

    题面 题意:N*M的网格图里,有起点S,终点T,然后有'.'表示一般房间,'#'表示毒气房间,进入毒气房间要消耗一个氧气瓶,而且要多停留一分钟,'B'表示放氧气瓶的房间,每次进入可以获得一个氧气瓶,最 ...

  8. git 本地项目推送至远程仓库

    1 在本地文件夹下创建一个 Git 仓库(如test目录下) git init 2 此时test文件夹即是你的maste主分支,你可以在改文件夹下写自己的项目 3 将test文件夹下的内容提交至暂存区 ...

  9. TexturePacker贴图打包工具

    1.该软件是收费的,不过对于这么一款实用的工具来说,物有所值,下载地址 http://www.codeandweb.com/texturepacker 2.openGL载入纹理图片的时候,所用内存是会 ...

  10. mvc中Html.AntiForgeryToken的作用和用法

    参考:http://blog.csdn.net/cpytiger/article/details/8781457