mxi / mxdingbot
钉钉机器人
v1.0.0
2021-02-28 16:29 UTC
Requires
- ext-curl: *
- ext-json: *
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');