• yii2-dingtalk 钉钉群机器人


    说明

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

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

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

    安装

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

    配置

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

    使用

    在config/main.php配置文件中定义component配置信息
    'components' => [
      .....
      'robot' => [
          'class' => 'SaviorlvDingtalkRobot',
          '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

  • 相关阅读:
    在UNICODE编码格式下, CString 转换为 char* :
    inet_ntop(), inet_pton(), htonl(), ntohl()
    'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)'
    NMAKE:fatal error U1077.“...cl.exe” return code 0xc0000135
    拷贝(复制)构造函数和赋值函数
    GIS 地图中术语解释
    Linux 下防火墙端口设置
    LInux 下安装jdk
    ln 命令
    zip命令
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9971462.html
Copyright © 2020-2023  润新知