PHPackages                             alipeng/laravel-dingtalk-robot-notification - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. alipeng/laravel-dingtalk-robot-notification

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

alipeng/laravel-dingtalk-robot-notification
===========================================

钉钉群机器人 Laravel/Lumen 消息通知扩展包（Dingtalk robot message notifications for Laravel/Lumen）

1.2.2(6y ago)09MITPHPPHP &gt;=7.1

Since Jan 17Pushed 6y agoCompare

[ Source](https://github.com/alipeng/laravel-dingtalk-robot-notification)[ Packagist](https://packagist.org/packages/alipeng/laravel-dingtalk-robot-notification)[ RSS](/packages/alipeng-laravel-dingtalk-robot-notification/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (9)Used By (0)

 Laravel-dingtalk-robot-notification
=====================================

[](#-laravel-dingtalk-robot-notification-)

 钉钉群机器人 Laravel/Lumen 扩展包

 [ ![Latest Stable Version](https://camo.githubusercontent.com/e470daa2a118b0a050d54ca11f42b0509c35d5ba8b6ec192539b75fac98e8c9c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f63616c6368656e2f6c61726176656c2d64696e6774616c6b2d726f626f742d6e6f74696669636174696f6e2e737667) ](https://packagist.org/packages/calchen/laravel-dingtalk-robot-notification) [ ![Total Downloads](https://camo.githubusercontent.com/25b0be1dd60b11b3d6651d59bf03aa69be3f9c687c645e6a00bc58ba64250d39/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f63616c6368656e2f6c61726176656c2d64696e6774616c6b2d726f626f742d6e6f74696669636174696f6e2e737667) ](https://packagist.org/packages/calchen/laravel-dingtalk-robot-notification) [ ![License](https://camo.githubusercontent.com/5c25449fb568a8072e6f4ab9fa639e876579428c84718ede3c40aa2cd4fc4c4a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f63616c6368656e2f6c61726176656c2d64696e6774616c6b2d726f626f742d6e6f74696669636174696f6e2e737667) ](https://github.com/calchen/laravel-dingtalk-robot-notification/blob/master/LICENSE)

功能说明
----

[](#功能说明)

实现了 [钉钉群机器人](https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105733&docType=1) 的消息推送功能，并通过自定义通道使得机器人的消息推送也可以使用 Laravel 的消息通知（Notification）进行发送，同时对也 Lumen 也进行了支持。

依赖情况
----

[](#依赖情况)

```
"php": ">=7.1",
"guzzlehttp/guzzle": "^6.0",
"phpunit/phpunit": "^7.0 || ^8.0",
"illuminate/notifications": "^5.7 || ^6.0",
"ramsey/uuid": "^3.8"
```

如遇到依赖过高无法安装的问题请提 Issues。

安装方法
----

[](#安装方法)

```
$ composer require calchen/laravel-dingtalk-robot-notification -vvv
```

配置
--

[](#配置)

### Laravel

[](#laravel)

安装成功后执行

```
$ php artisan vendor:publish --provider="Calchen\LaravelDingtalkRobot\DingtalkRobotNoticeServiceProvider"
```

会将 dingtalk\_robot.php 添加到您项目的配置文件目录中。

### Lumen

[](#lumen)

安装成功后首先需要在 bootstrap/app.php 中注册 Provider

```
$app->register(Calchen\LaravelDingtalkRobot\DingtalkRobotNoticeServiceProvider::class);
```

如果使用 Laravel 的 Notifications 还需要额外增加 Notifications 相关 Provider

```
$app->register(Illuminate\Notifications\NotificationServiceProvider::class);
```

如果使用 Facades 可以设置别名

```
$app->withFacades(true, [
    Illuminate\Support\Facades\Notification::class => 'Notification'
]);
```

然后需要您手动的将 vendor/calchen/laravel-dingtalk-robot-notification/config/dingtalk\_robot.php 文件拷贝至您项目的配置文件目录中。

### 获取 access\_token

[](#获取-access_token)

首先在钉钉中发起群聊并设置一个群机器人，如果您不知道如何设置请查看 [钉钉文档](https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7386797.0.0.39a94a97L4qlKb&source=search&treeId=257&articleId=105733&docType=1#s1)，请注意这里需要设置的是"自定义"类型的机器人。

在设置完成后您将获得一个 webhook 地址，该地址中 access\_token 的值即下文中使用到的 access\_token 的值，请妥善保存该 access\_token。

### 配置文件参数

[](#配置文件参数)

可在 .env 文件中进行配置

- 配置文件默认包含名为 default 的机器人，可根据实际需要配置多个机器人
- access\_token 为上文获取到的 webhook 地址中的 access\_token。
- timeout 为请求超时时间，详见 [Guzzle](http://docs.guzzlephp.org/en/stable/request-options.html#timeout)

使用消息通知（Notification）
--------------------

[](#使用消息通知notification)

Tips：为了方便快速调试功能，内置了一个使用了 Notifiable Trait 的类：Calchen\\LaravelDingtalkRobot\\Robot ，以下均以此对象为例，实际开发中请务必根据您项目情况进行对应处理。

首先需要先创建一个 TestDingtalkNotification ，如果是 Laravel 可通过 artisan 命令创建

```
$ php artisan make:notification TestDingtalkNotification
```

如果是 Lumen 那么可能需要您手动创建 app/Notifications 文件夹并创建 TestDingtalkNotification.php 文件

```
