4.0.0 • Published 3 years ago

robot-for-ding v4.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

robot-for-ding

说明

本项目是对接钉钉自定义小机器人,消息格式请查阅文档, 主要将发送格式进行平铺

起步

npm i robot-for-ding

使用

const RobotDing = require('../lib')

const ding = new RobotDing({
    webhook: 'webhook',
    secret: 'secret'
})

// 文本
ding.sendText({
    content: '封装成功',
    isAtAll: true
})

// 链接
ding.sendLink({
    title: '武松打虎',
    text: '武松打虎,出自施耐庵所著《水浒传》中的第二十三回《横海郡柴进留宾 景阳冈武松打虎》,主要讲述梁山好汉武松回家探望哥哥,途中路过景阳冈。在冈下酒店喝了十八碗酒,踉跄着向冈上走去。行不多时,只见一棵树上写着:“近因景阳冈猛虎伤人,但有过往客商,应结伙成队过冈,请勿自误。”武松认为,这是酒家写来吓人的,为的是让过客住他的店,没有理它,继续往前走。太阳快落山时,武松来到一破庙前,见庙门贴了一张官府告示,武松读后,方知山上真有虎,待要回去住店,怕店家笑话,又继续向前走。由于酒力发作,便找了一块大青石,仰身躺下,刚要入睡,忽听一阵狂风呼啸,一只眼睛上翘,额头白色的老虎朝武松扑了过来,武松急忙一闪身,躲在老虎背后。老虎一纵身,武松又躲了过去。老虎急了,大吼一声,用尾巴向武松打来,武松又急忙跳开,并趁猛虎转身的那一霎间,举起哨棒,运足力气,朝虎头猛打下去。只听"咔嚓"一声,哨棒打在树枝上。老虎兽性大发,又向武松扑过来,武松扔掉半截棒,顺势骑在虎背上,左手揪住老虎头上的皮,右手猛击虎头,没多久就把老虎打得眼、嘴、鼻、耳到处流血,趴在地上不能动弹。武松怕老虎装死,举起半截哨棒又打了一阵,见那老虎确实没气了,才住手。从此武松威名大震。',
    messageUrl: "https://baike.baidu.com/item/%E6%AD%A6%E6%9D%BE%E6%89%93%E8%99%8E/10966239?fr=aladdin",
    picUrl: "https://bkimg.cdn.bcebos.com/pic/b7003af33a87e9507d51d32011385343fbf2b433?x-bce-process=image/resize,m_lfit,w_268,limit_1/format,f_jpg"
})

// markdown
ding.sendMarkdown({
    title: '武松打虎',
    text: `### 武松打虎 \n 武松打虎,出自[施耐庵](https://baike.baidu.com/item/%E6%96%BD%E8%80%90%E5%BA%B5)所著[《水浒传》](https://baike.baidu.com/item/%E6%B0%B4%E6%B5%92%E4%BC%A0)中的第二十三回《横海郡柴进留宾 景阳冈武松打虎》,主要讲述梁山好汉武松回家探望哥哥,途中路过景阳冈。在冈下酒店喝了十八碗酒,踉跄着向冈上走去。行不多时,只见一棵树上写着:“近因景阳冈猛虎伤人,但有过往客商,应结伙成队过冈,请勿自误。”武松认为,这是酒家写来吓人的,为的是让过客住他的店,没有理它,继续往前走。太阳快落山时,武松来到一破庙前,见庙门贴了一张官府告示,武松读后,方知山上真有虎,待要回去住店,怕店家笑话,又继续向前走。由于酒力发作,便找了一块大青石,仰身躺下,刚要入睡,忽听一阵狂风呼啸,一只眼睛上翘,额头白色的老虎朝武松扑了过来,武松急忙一闪身,躲在老虎背后。老虎一纵身,武松又躲了过去。老虎急了,大吼一声,用尾巴向武松打来,武松又急忙跳开,并趁猛虎转身的那一霎间,举起哨棒,运足力气,朝虎头猛打下去。只听"咔嚓"一声,哨棒打在树枝上。老虎兽性大发,又向武松扑过来,武松扔掉半截棒,顺势骑在虎背上,左手揪住老虎头上的皮,右手猛击虎头,没多久就把老虎打得眼、嘴、鼻、耳到处流血,趴在地上不能动弹。武松怕老虎装死,举起半截哨棒又打了一阵,见那老虎确实没气了,才住手。从此武松威名大震。![武松打虎](https://bkimg.cdn.bcebos.com/pic/b7003af33a87e9507d51d32011385343fbf2b433?x-bce-process=image/resize,m_lfit,w_268,limit_1/format,f_jpg)`,
    isAtAll: true
})
// ActionCard
ding.sendActionCard({
    title: "武松打虎",
    text: `### 武松打虎 \n 武松打虎,出自[施耐庵](https://baike.baidu.com/item/%E6%96%BD%E8%80%90%E5%BA%B5)所著[《水浒传》](https://baike.baidu.com/item/%E6%B0%B4%E6%B5%92%E4%BC%A0)中的第二十三回《横海郡柴进留宾 景阳冈武松打虎》,主要讲述梁山好汉武松回家探望哥哥,途中路过景阳冈。在冈下酒店喝了十八碗酒,踉跄着向冈上走去。行不多时,只见一棵树上写着:“近因景阳冈猛虎伤人,但有过往客商,应结伙成队过冈,请勿自误。”武松认为,这是酒家写来吓人的,为的是让过客住他的店,没有理它,继续往前走。太阳快落山时,武松来到一破庙前,见庙门贴了一张官府告示,武松读后,方知山上真有虎,待要回去住店,怕店家笑话,又继续向前走。由于酒力发作,便找了一块大青石,仰身躺下,刚要入睡,忽听一阵狂风呼啸,一只眼睛上翘,额头白色的老虎朝武松扑了过来,武松急忙一闪身,躲在老虎背后。老虎一纵身,武松又躲了过去。老虎急了,大吼一声,用尾巴向武松打来,武松又急忙跳开,并趁猛虎转身的那一霎间,举起哨棒,运足力气,朝虎头猛打下去。只听"咔嚓"一声,哨棒打在树枝上。老虎兽性大发,又向武松扑过来,武松扔掉半截棒,顺势骑在虎背上,左手揪住老虎头上的皮,右手猛击虎头,没多久就把老虎打得眼、嘴、鼻、耳到处流血,趴在地上不能动弹。武松怕老虎装死,举起半截哨棒又打了一阵,见那老虎确实没气了,才住手。从此武松威名大震。![武松打虎](https://bkimg.cdn.bcebos.com/pic/b7003af33a87e9507d51d32011385343fbf2b433?x-bce-process=image/resize,m_lfit,w_268,limit_1/format,f_jpg)`,
    btnOrientation: '0',
    singleTitle: '阅读全文',
    singleURL: 'https://baike.baidu.com/item/%E6%AD%A6%E6%9D%BE%E6%89%93%E8%99%8E/10966239?fr=aladdin'
})

// FeedCard
ding.sendFeedCard({
    links: [
        {
            "title": "武松打虎",
            "messageURL": "https://baike.baidu.com/item/%E6%AD%A6%E6%9D%BE%E6%89%93%E8%99%8E/10966239?fr=aladdin",
            "picURL": "https://bkimg.cdn.bcebos.com/pic/b7003af33a87e9507d51d32011385343fbf2b433?x-bce-process=image/resize,m_lfit,w_268,limit_1/format,f_jpg"
        }
    ]
})

api

sendText

参数参数类型默认值是否必填必须
contentString''消息内容。
atMobilesArray[]被@人的手机号。
atUserIdsArray[]被@人的用户userid。
isAtAllBooleanfalse是否@所有人。

sendLink

参数参数类型默认值是否必填必须
titleString''消息标题。
textString''消息内容。如果太长只会部分展示。
messageUrlString''点击消息跳转的URL。
picUrlString''图片URL。

sendMarkdown

参数参数类型默认值是否必填必须
titleString''首屏会话透出的展示内容。
textString''markdown格式的消息。
atMobilesArray[]被@人的手机号。
atUserIdsArray[]被@人的用户userid。
isAtAllBooleanfalse是否@所有人。

目前只支持markdown语法的子集,具体支持的元素如下:

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

引用
> A man who stands for nothing will fall for anything.

文字加粗、斜体
**bold**
*italic*

链接
[this is a link](http://name.com)

图片
![](http://name.com/pic.jpg)

无序列表
- item1
- item2

有序列表
1. item1
2. item2

sendActionCard

参数参数类型默认值是否必填必须
titleString''首屏会话透出的展示内容。
textString''markdown格式的消息。
singleTitleString''单个按钮的标题。
singleURLString''点击singleTitle按钮触发的URL。
btnOrientationString"1"0:按钮竖直排列 1:按钮横向排列
btnsArray[]按钮。独立跳转ActionCard类型时必填
btns[].titleString--按钮标题。独立跳转ActionCard类型时必填
btns[].actionURLString--点击按钮触发的URL。独立跳转ActionCard类型时必填

sendFeedCard

参数参数类型默认值是否必填必须
linksArray[]--
links[].titleString--单条信息文本。
links[].messageURLString--点击单条信息到跳转链接。
links[].picURLString--单条信息后面图片的URL。

常见问题

当出现以下错误时,表示消息校验未通过,请查看机器人的安全设置。

// 消息内容中不包含任何关键词
{
  "errcode":310000,
  "errmsg":"keywords not in content"
}

// timestamp 无效
{
  "errcode":310000,
  "errmsg":"invalid timestamp"
}

// 签名不匹配
{
  "errcode":310000,
  "errmsg":"sign not match"
}

// IP地址不在白名单
{
  "errcode":310000,
  "errmsg":"ip X.X.X.X not in whitelist"
}
3.0.1

3 years ago

4.0.0

3 years ago

2.2.0

3 years ago

2.1.1

3 years ago

2.0.2

3 years ago

2.2.2

3 years ago

2.1.0

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.2

3 years ago

1.0.0

3 years ago