釘釘推送機器人訊息傳送 Laravel 擴充套件包

王舉發表於2018-05-23

專案地址:https://github.com/wowiwj/ding-notice

ding-notice 是一款釘釘機器人訊息傳送的Laravel擴充套件,您可以透過此擴充套件便捷的傳送釘釘訊息,進行監控和提醒操作

  • php版本:>=7.0
  • laravel版本: Laravel5.5+
composer require wangju/ding-notice

安裝成功後執行

php artisan vendor:publish --provider="DingNotice\DingNoticeServiceProvider"

會自動將ding.php新增到您專案的配置檔案當中

釘釘啟用開關

(可選)預設為開啟

DING_ENABLED=true

釘釘的推送token

多機器人配置

如果想要新增多個機器人,則在ding.php當中新增機器人名字和相關的配置即可

return [

    'default' => [
        'enabled' => env('DING_ENABLED',true),

        'token' => env('DING_TOKEN',''),

        'timeout' => env('DING_TIME_OUT',2.0)
    ],

    'other' => [
        'enabled' => env('OTHER_DING_ENABLED',true),

        'token' => env('OTHER_DING_TOKEN',''),

        'timeout' => env('OTHER_DING_TIME_OUT',2.0)
    ]

];

釘釘傳送的超時時間

  • (可選) 預設為2.0秒
    DING_TIME_OUT=

傳送純文字訊息

ding('我就是我, xxx 是不一樣的煙火')

or

ding()->text('我就是我, xxx 是不一樣的煙火')

傳送過程@其他人或者所有人

ding()->at(["13888888888"],true)
      ->text("我就是我,@13888888888 是不一樣的煙火")

傳送連結型別的訊息


$title = "自定義機器人協議";
$text = "群機器人是釘釘群的高階擴充套件功能。群機器人可以將第三方服務的資訊聚合到群聊中,實現自動化的資訊同步。例如:透過聚合GitHub,GitLab等原始碼管理服務,實現原始碼更新同步;透過聚合Trello,JIRA等專案協調服務,實現專案資訊同步。不僅如此,群機器人支援Webhook協議的自定義接入,支援更多可能性,例如:你可將運維報警提醒透過自定義機器人聚合到釘釘群。";
$picUrl = "";
$messageUrl = "https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1";

ding()->link($title,$text,$messageUrl,$picUrl)

傳送markdown型別的訊息

$title = '杭州天氣';
$markdown = "#### 杭州天氣  \n ".
            "> 9度,@1825718XXXX 西北風1級,空氣良89,相對溫度73%\n\n ".
            "> ![screenshot](http://i01.lw.aliimg.com/media/lALPBbCc1ZhJGIvNAkzNBLA_1200_588.png)\n".
            "> ###### 10點20分發布 [天氣](http://www.thinkpage.cn/) ";

ding()->markdown($title,$markdown);

or

ding()->at([],true)
    ->markdown($title,$markdown)

傳送Action型別的訊息

傳送single型別的訊息

$title = "賈伯斯 20 年前想打造一間蘋果咖啡廳,而它正是 Apple Store 的前身";
$text = "![screenshot](@lADOpwk3K80C0M0FoA) \n".
    " #### 賈伯斯 20 年前想打造的蘋果咖啡廳 \n\n".
    " Apple Store 的設計正從原來滿滿的科技感走向生活化,而其生活化的走向其實可以追溯到 20 年前蘋果一個建立咖啡館的計劃";

ding()->actionCard($title,$text,1)
    ->single("閱讀全文","https://www.dingtalk.com/")
    ->send()

傳送btns型別的訊息

ding()->actionCard($title,$text,1)
    ->addButtons("內容不錯","https://www.dingtalk.com/")
    ->addButtons("不感興趣","https://www.dingtalk.com/")
    ->send();

傳送Feed型別的訊息

$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 = "https://www.dingtalk.com";
ding()->feed()
    ->addLinks('時代的火車向前開',$messageUrl,$picUrl)
    ->addLinks('時代的火車向前開2',$messageUrl,$picUrl)
    ->send();

多機器人訊息傳送

傳送純文字訊息

ding('我就是我, xxx 是不一樣的煙火','other')

or

ding()->with('other')->text('我就是我, xxx 是不一樣的煙火');

透過其他機器人傳送其他型別訊息

ding()->with('other')->markdown($title,$markdown);

ding()->with('other')
       ->feed()
       ->addLinks('時代的火車向前開',$messageUrl,$picUrl)
       ->addLinks('時代的火車向前開2',$messageUrl,$picUrl)
       ->send();

enjoy :)

  • 效果
    file
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章