当前位置: 首页 > 后端技术 > PHP

我的作曲包《钉钉定制机器人》

时间:2023-03-29 13:39:27 PHP

是看完overtrue的《LX2 PHP 扩展包实战教程 - 从入门到发布》课程后制作的。但是单元测试和自动化测试还没有写。这部分是刚学的,还在折腾中。源码地址:OverNaive/DingTalkRobotRequirementPHP>=7.2.5ComposerInstallationcomposerrequireovernaive/dingtalkrobot^1.0Documents钉钉官方文档Usage'secret_string',]);//优雅调用$result=$robot->message->text->setTextContent('我是我,不一样的烟花@156xxxx8827')->addAtMobile('156xxxx8827')->send();//原生调用$result=$robot->message->send(['msgtype'=>'text','text'=>['content'=>'我就是我,不一样的烟花@156xxxx8827',],'atMobiles'=>['156xxxx8827'],'isAtAll'=>false,]);Example'access_token_string','secret'=>'secret_string',]);//文本类型$result=$robot->message->text->setTextContent('我是我,不一样Kindoffireworks@156xxxx8827')->addAtMobile('156xxxx8827')->addAtMobile('189xxxx8325')->send();var_dump($result);//链接类型$result=$robot->message->link->setTitle('时代的列车向前行驶')->setText('这个新版本即将发布,创始人xx称之为mangrove在此之前,每当有重大升级时,产品经理都会选择一个适合场合的代号。Thistime,whyisitmangrove')->setMessageUrl('https://www.dingtalk.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')->send();var_dump($result);//markdown类型$result=$robot->message->markdown->setTitle('杭州天气')->setText("####杭州天气@18150089296\n>9度,西北风1级,空气好89,相对温度73%\n>![截图](https://img.alicdn.com/tfs/TB1NwmBEL9TBuNjy1zbXXXpepXa-2400-1218.png)\n>######10:20发布[天气](https://www.dingtalk.com)\n")->addAtMobile('150XXXXXXXX')->send();var_dump($result);//整体跳转ActionCard类型$result=$robot->message->actionCard->setTitle('20年前乔布斯想建一个AppleCafe,它是AppleStore')->setText("![截图](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)###乔布斯20年前想打造的AppleStore的设计,正在从最初的科技感转向生活感,它的生活风潮其实可以追溯到20年前苹果计划建咖啡馆")->addBtn('阅读全文','https://www.dingtalk.com/')->verticalBtn()->send();var_dump($result);//独立跳转ActionCardtype$result=$robot->message->actionCard->setTitle('20年前乔布斯想建一个AppleCafe,它就是AppleStore的前身')->setText("![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)###乔布斯20年前想要打造的AppleCafeAppleStore的设计,从最初的科技感出发tolife其实,其向生活化的趋势可以追溯到20年前苹果计划建咖啡店")->verticalBtn()->addBtn('内容不错','https://www.dingtalk.com/')->addBtn('不感兴趣','https://www.dingtalk.com/')->send();var_dump($result);//FeedCard类型$result=$robot->message->feedCard->addLink('时代列车向前行驶','https://www.dingtalk.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','https://gw.alicdn.com/tfs/TB1ayl9mpYqK1RjSZLeXXbXppXa-170-62.png')->addLink('时间火车向前开2','https://www.dingtalk.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','https://gw.alicdn.com/tfs/TB1ayl9mpYqK1RjSZLeXXbXppXa-170-62.png')->send();var_dump($result);AdvancedUsageCustomGuzzleclientreplacesGuzzleclientEnd'access_token_string','secret'=>'secret_string',]);//自定义Handler,以下配置代码来自官方文档$handler=newCurlHandler();$stack=HandlerStack::create($handler);$customClient=newClient(['handler'=>$stack]);//用保留方法替换Guzzle客户端$message=$robot->message->setHttpClient($customClient);$result=$message->text->setTextContent('Iamme,yesDifferentFireworks@156xxxx8827')->addAtMobile('156xxxx8827')->send();配置GuzzleClient'access_token_string','secret'=>'secret_string','guzzle_options'=>['handler'=>$stack,//自定义处理程序'timeout'=>10.0,//设置请求超时],]);$result=$robot->message->text->setTextContent('我就是我,不一样的烟花@156xxxx8827')->addAtMobile('156xxxx8827')->发送();理论上可以通过更换Guzzle客户端或者配置上面的Handler来支持协程,更多的guzzle配置暂未测试,请参考:GuzzleDocumentationLicenseMIT