[学生党]钉钉机器人使用教程

[学生党]钉钉机器人使用教程

钉钉图标


寻找钉钉帮助文档的专业程序员请直接跳转至帮助文档


近期,某爱算法的猫在某B站发布了一段使用钉钉机器人还原的某鬼畜。

视频如下:

钉钉机器人?但是全明星

视频地址:https://www.bilibili.com/video/BV133411N7nR?share_source=copy_web

当然大家不用仔细看视频,看图片就行了:

在这里插入图片描述

但是这些不是本期的重点。某猫在评论区里发现了这样一句话:截图

于是我在CSDN里找了一些教程,本想直接回复,哪知……

(可能我平时文章写的不多,不过我其实主要是学算法,程序设计什么的是自学的)

然后找到了一些比较复杂的文章。看到这些文章,我觉得自己仿佛不会编程。。。

为了符合广大学生党和专业整活人士的需求,我连夜肝出了这篇文章(假的

01 · 钉钉机器人基本介绍


专业人士请自取帮助文档链接:

钉钉的文档太复杂了找到接口部分比较费劲,大家就不用自己找啦


钉钉机器人是钉钉软件中的某群聊助手,类型非常丰富。在钉钉的帮助文档中,介绍了以下类型:

在这里插入图片描述

对于各位整活人士,不需要考虑进行复杂的机器人开发,一般会直接使用“自定义机器人”类型。当然如果有特殊需求的整活人士,我会在以后尽量写教程的,关注一下我吧~

02 · 使用教程

某只猫最近有点懒,所以就不给出详细的教程了,给大家一些链接,里面都有非常详细的教程,不过各个链接中的专业用语,我都会为大家解释,所以不要关掉这篇文章啊!!

用人话说就是:相关教程请自取,我只负责为非专业人士讲解教程中的专业词汇

关于钉钉机器人的工作原理,大家可以参考这两篇文章:

这里要纠正一个误区:自定义机器人不能回复消息,开发者需要手动通过程序向机器人给出的网站发送请求,才能让机器人发送消息。找到的文章中说的比较专业,我稍后详细解释

那么看完这两篇文章,大家可能对机器人有了一定的了解,但不一定能完全理解~~(看懂最好,慢走不送~~

一定要注意的是,除非你能完全理解钉钉开放文档或其它文章中的此类代码 (要是真能看懂,请关闭本文并转到钉钉开放文档

curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
 -H 'Content-Type: application/json' \
 -d '{"msgtype": "text","text": {"content":"我就是我, 是不一样的烟火"}}'
<?php  
function request_by_curl($remote_server, $post_string) {  
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL, $remote_server);
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array ('Content-Type: application/json;charset=utf-8'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
    // 线下环境不用开启curl证书验证, 未调通情况可尝试添加该代码
    // curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    // curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
    $data = curl_exec($ch);
    curl_close($ch);                
    return $data;  
}  

$webhook = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxx";
$message="我就是我, 是不一样的烟火";
$data = array ('msgtype' => 'text','text' => array ('content' => $message));
$data_string = json_encode($data);

$result = request_by_curl($webhook, $data_string);  
echo $result;
?>

否则最好不要使用代码……


首先,先给大家讲解一下必要的原理:

钉钉机器人使用了POST请求实现。所谓POST请求,用“通俗”的语言解释 (开始吟唱&胡扯) 就是计算机在访问某网址时不是直接获取此网址对应的文件,而是向此网址发送一段数据,然后显示网站根据数据返回的值。POST请求主要用于程序自动执行某操作,比如两个网址对应一个普通的计算器和一个使用POST请求的计算器,如果让人使用计算器,只需显示一个计算器的界面,但是如果某程序需要计算器功能,但程序又不是人,没法操作UI,所以程序向第二个使用POST的网址发送一个算式,然后网址会发回答案,程序再显示答案。

说的比较“通俗”,大佬勿喷 (结束吟唱&胡扯)

别问我为啥钉钉机器人要用POST不直接用UI。安全性只是一小部分,关键是人er机器人也不是给你整活用的啊……


可能会有人问:我又不是机器人你让我怎么POST?

问得好!

有个软件叫作postman,专门用于调试这类POST接口。不过先别着急下载,因为postman在国内不是特别好用,我的postman至今还未正常运行过。大家可以使用某国内的相似软件。

如果你完全无法理解JSON代码,也看不懂这篇文章,那么可以按照钉钉开放文档给出的JSON和实际效果的对照,替换对应文字即可。

不过完全不会编程的业外人士,可能无法理解\n这种神奇的东西。\n即为换行符,要按Enter的时候写这个就行了

第一个链接中给出的文章讲的非常详细,其他的就不过多介绍了(大本钟下送快递,上面开摆下面寄!)

不过有一点要注意: 在CSDN中搜索到的文章,基本都包含以下内容

{
    "at": {
        "atMobiles":[
            "180xxxxxx"
        ],
        "atUserIds":[
            "user123"
        ],
        "isAtAll": false
    },
    "text": {
        "content":"我就是我, @XXX 是不一样的烟火"
    },
    "msgtype":"text"
}

这类东西有很多,但是经过数次复制,大多数都出了亿点小问题 (某只爱算法的猫被坑惨了,所以大家一定要直接使用第一个链接(钉钉开放文档 (dingtalk.com))也就是钉钉官方给出的文档中的代码,否则…………。


最后介绍一下钉钉机器人的安全部分。

为了防止其他人获取你的机器人所对应的网址,然后乱发消息,钉钉给出了3个安全措施:

  1. 关键词

    发送的消息必须包含给出的关键词中的任意一个。

    比如我在B站视频中发的“老冯”机器人,关键词有“鸡”、“穿山甲”、“tnnd”等

    最多可以设置10个

  2. 加签

    要是会加签的大佬应该都已经慢走不送了,就不介绍了,这不是一般的费劲,而且用postman较难实现

  3. IP地址段

    只有指定IP发出的请求才会被处理

    这个东西非常容易,甚至不用专门获取自己的IP,只要先随便POST一条消息,然后会返回一条“某某某IP不在范围内”这类消息,把某某某IP填进允许的地址段就行了

如果要和同学们一起整活,建议使用第一种方法(关键词),如果自己整活,建议使用第二种方法(IP地址段)

某爱算法的猫稍后会整理一篇钉钉机器人常见错误代码,帮助大家更方便的使用~


最后,看到这里的小伙伴们有个福利:

某爱算法的猫用苹果的快捷指令APP编写了一个可以快速让机器人发送文本类型消息的指令,附上链接:

钉钉机器人 (icloud.com)

钉钉机器人 (CSDN资源)(作者目前还没上传资源,上传了再把链接填进来)

(第一个链接是我直接通过iCloud分享的,免费下载,但是不知道啥时候过期。如果过期了就只能用第二个CSDN链接,CSDN下载东西就算我设成免费也需要会员,我也没办法……)


都看到这里了,为啥不点个关注?

如果有什么想学习的内容,可以私信作者(一只爱算法的猫),因为作者最近缺素材啊啊啊啊~~~

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值