mxi/mxdingbot

钉钉机器人

v1.0.0 2021-02-28 16:29 UTC

This package is not auto-updated.

Last update: 2024-09-24 09:42:34 UTC


README

安装

需要使用curl

在composer.json里面添加

composer require mxi/mxdingbot

配置

//    钉钉企业内部webhook机器人 
    // @link https://ding-doc.dingtalk.com/doc#/serverapi2/elzz1p
    $DingBot = array(
        'AppSecret'=>'', //填企业内部机器人的AppSecret(在钉钉开发者后台查看),非企业内部机器人可置空
        'secret'=>'', //填webHook机器人的加签的秘钥(在钉钉PC端机器人设置页面查看)。或填企业内部机器人的AppSecret
        'webHook'=>'' //填机器人的webHook地址(在钉钉PC端机器人设置页面查看)
    );
    $ddBot = new MxDingBot\Inlet($DingBot);

发送消息

Text类型消息

$ddBot->Text('测试');

Link类型消息

$ddBot->Link('链接','标题','https://www.dingtalk.com');

Markdown类型消息

$ddBot->Markdown('天气',"#### 杭州天气 @156xxxx8827\n");

ActionCard类型消息,整体跳转ActionCard

$ddBot->ActionCard('标题','内容','点击标题','https://www.dingtalk.com');

ActionDialog类型消息,独立跳转ActionCard

$ddBot->ActionDialog('标题','内容',array(
    array('title'=>'标题1','actionURL'=>'https://www.dingtalk.com/'),
    array('title'=>'标题2','actionURL'=>'https://www.dingtalk.com/')
));

FeedCard类型消息

$ddBot->FeedCard(array(
    array('title'=>'标题1',
        'messageURL'=>'https://www.dingtalk.com/',
          'picURL'=>'https://www.dingtalk.com/'),
    array('title'=>'标题2',
         'messageURL'=>'https://www.dingtalk.com/',
          'picURL'=>'https://www.dingtalk.com/')
));

更多详细内容参考钉钉官方文档:https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi

接收消息

>企业内部机器人能力

测试

<?php
//path/to/public

require_once dirname(__FILE__) . '/vendor/autoload';

    $DingBot = array(
        'AppSecret'=>'', //填企业内部机器人的AppSecret(在钉钉开发者后台查看),非企业内部机器人可置空
        'secret'=>'', //填webHook机器人的加签的秘钥(在钉钉PC端机器人设置页面查看)。或填企业内部机器人的AppSecret
        'webHook'=>'' //填机器人的webHook地址(在钉钉PC端机器人设置页面查看)
    );
    $server = new MxDingBot\Inlet($DingBot);
//默认使用内置的测试逻辑 \MxDingBot\Server
    $server->Server();

上述操作完成后,正常状态下@机器人发消息 将会受到回复。

实现自定义业务逻辑

<?php
/**
 * Created by PhpStorm.
 * User: Chen Kaihang <cmxds@hotmail.com>
 * Date: 2020/4/3
 * Time: 19:48
 */

namespace App\DingBot;


use MxDingBot\Server;

/**
 * Class DingBotServer
 * @package App\DingBot
 *继承PhalApi\DingComBot\Server 重写其中的方法即可
 */
class DingBotServer extends Server
{

    public function text($msg)
    {
        // do something
    }
}

注册自身业务

<?php
//path/to/public

require_once dirname(__FILE__) . '/vendor/autoload';

    $DingBot = array(
        'AppSecret'=>'', //填企业内部机器人的AppSecret(在钉钉开发者后台查看),非企业内部机器人可置空
        'secret'=>'', //填webHook机器人的加签的秘钥(在钉钉PC端机器人设置页面查看)。或填企业内部机器人的AppSecret
        'webHook'=>'' //填机器人的webHook地址(在钉钉PC端机器人设置页面查看)
    );
    $server = new MxDingBot\Inlet($DingBot);
//    注册自定义业务逻辑
    $server->Server('\\App\\DingBot\\DingBotServer');