开发文档:
钉钉 自定义机器人
一、创建、设置钉钉机器人
- 创建机器人:钉钉群 ->群设置 -> 群机器人 如下图所示
- 设置钉钉机器人信息
二、发送钉钉消息
根据钉钉开发文档,当前钉钉机器人支持的消息类型主要有三种:文本类型、link类型、markdown类型。本文主要介绍发送“markdown类型”消息。
事实上,钉钉机器人发送消息,就是发送一次HTTP Post请求给webhook,数据最终都是json格式的,所以在通过机器人发送消息未成功时,可以检查自己的webhook是否正确,json数据是否符合开发文档要求。
废话不多说,直接开始。
- 编写消息类型类Model
MarkDown:MarkDown类型
At:At
DingDingMessage:钉钉消息
DingDingResponse:消息响应
/// <summary>
/// 消息类型
/// </summary>
public class MarkDown
{
public MarkDown() { }
public string title { set; get; }//标题
public string text { set; get; }//文本消息
}
/// <summary>
/// At
/// </summary>
public class At
{
public At()
{
atMobiles = new List<string>();
}
private List<string> _atMobiles;//@的手机号
private bool _isAtAll;//是否@所有人
/// <summary>
/// @的联系人
/// </summary>
public List<string> atMobiles
{
set { _atMobiles = value; }
get { return _atMobiles; }
}
/// <summary>
/// 是否@所有人
/// </summary>
public bool isAtAll
{
set { _isAtAll = value; }
get { return _isAtAll; }
}
}
/// <summary>
/// 钉钉消息
/// </summary>
public class DingDingMessage
{
public DingDingMessage()
{
this.at = new At();
this.text = new Text();
this.markdown = new MarkDown();
}
public string msgtype { set; get; }//消息类型
public Model.Text text { set; get; }//text类型
public Model.MarkDown markdown { set; get; }//markdown类型
public Model.At at { set; get; }//@
}
/// <summary>
/// 消息响应
/// </summary>
public class DingDingResponse
{
private string _msg;
private string _code;
/// <summary>
/// 错误信息
/// </summary>
public string ErrMsg
{
set { _msg = value; }
get { return _msg; }
}
/// <