溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

發(fā)布時(shí)間:2020-09-16 07:43:47 來源:腳本之家 閱讀:228 作者:DevinZhang2018 欄目:開發(fā)技術(shù)

一、釘釘群自定義機(jī)器人介紹

釘釘群機(jī)器人是釘釘群的一個(gè)高級(jí)擴(kuò)展功能,然而使用起來卻非常簡單,只有注冊(cè)一個(gè)釘釘賬號(hào)即可,就可以將第三方服務(wù)的信息聚合到釘釘群中,實(shí)現(xiàn)信息的自動(dòng)化同步,例如:通過聚合Github、Gitlab等源碼管理服務(wù),實(shí)現(xiàn)源碼更新同步;通過聚合Trello、JIRA等項(xiàng)目協(xié)調(diào)服務(wù),實(shí)現(xiàn)項(xiàng)目信息同步;同事,支持Webhook協(xié)議的自定義接入,支持更多可能性,例如:將運(yùn)維報(bào)警提醒、自動(dòng)化測(cè)試的結(jié)果報(bào)告提醒、工作、生活日程安排(上班打卡、下班吃飯、健身、讀書、生日、紀(jì)念日…)等等的提醒,通過自定義機(jī)器人聚合到釘釘中。

目前自定義機(jī)器人支持文本(text)、鏈接(link)、markdown三種消息格式、五種消息類型,詳細(xì)信息請(qǐng)參考自定義機(jī)器人官方文檔

二、安裝使用

這么好用的功能,只要在群中添加好機(jī)器人,得到Webhoo地址,在命令行終端馬上就可以一睹為快:

curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
 -H 'Content-Type: application/json' \
 -d '
 {"msgtype": "text", 
 "text": {
  "content": "我就是我, 是不一樣的煙火"
  }
 }' 

由于各種消息調(diào)用,官方只提供Java語言的封裝,平時(shí)使用Python比較多,為了更方便平時(shí)自動(dòng)化項(xiàng)目的使用,周末花了點(diǎn)時(shí)間用Python語言對(duì)各種消息類型進(jìn)行了一一封裝,代碼已開源在GitHub上,同時(shí)也上傳了PyPI。

1、項(xiàng)目源碼地址如下:DingtalkChatbot

2、安裝命令如下:

pip install DingtalkChatbot

3、支持功能如下:

- 支持Text消息;

- 支持Link消息;

- 支持Markdown消息;

- 支持ActionCard消息;

- 支持消息發(fā)送失敗時(shí)自動(dòng)通知;

- 支持Python2、Python3;

三、各消息類型使用示例

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

from dingtalkchatbot.chatbot import DingtalkChatbot
# WebHook地址
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=這里填寫自己釘釘群自定義機(jī)器人的token'
# 初始化機(jī)器人小丁
xiaoding = DtalkChatbot(webhook)
# Text消息@所有人
xiaoding.send_text(msg='我就是小丁,小丁就是我!', is_at_all=True)

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# Text消息之@指定用戶
at_mobiles = ['這里填寫需要提醒的用戶的手機(jī)號(hào)碼,字符串或數(shù)字都可以']
xiaoding.send_text(msg='我就是小丁,小丁就是我!', at_mobiles=at_mobiles)

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# Link消息
xiaoding.send_link(title='萬萬沒想到,某小璐竟然...', text='故事是這樣子的...', message_url='http://www.kwongwah.com.my/?p=454748", pic_url="https://pbs.twimg.com/media/CEwj7EDWgAE5eIF.jpg')

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# Markdown消息@所有人
xiaoding.send_markdown(title='氧氣文字', text='#### 廣州天氣\n'
       '> 9度,西北風(fēng)1級(jí),空氣良89,相對(duì)溫度73%\n\n'
       '> ![美景](http://www.sinaimg.cn/dy/slidenews/5_img/2013_28/453_28488_469248.jpg)\n'
       '> ###### 10點(diǎn)20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n',
       is_at_all=True)

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# Markdown消息@指定用戶
 xiaoding.send_markdown(title='氧氣文字', text='#### 廣州天氣 @用戶手機(jī)號(hào)\n'
       '> 9度,西北風(fēng)1級(jí),空氣良89,相對(duì)溫度73%\n\n'
       '> ![美景](http://www.sinaimg.cn/dy/slidenews/5_img/2013_28/453_28488_469248.jpg)\n'
       '> ###### 10點(diǎn)20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n',
       at_mobiles=at_mobiles)

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# FeedCard消息類型
feedlink1 = FeedLink(title="氧氣美女", message_url="https://www.dingtalk.com/", pic_url="https://unzippedtv.com/wp-content/uploads/sites/28/2016/02/asian.jpg")
feedlink2 = FeedLink(title="氧眼美女", message_url="https://www.dingtalk.com/", pic_url="https://unzippedtv.com/wp-content/uploads/sites/28/2016/02/asian.jpg")
feedlink3 = FeedLink(title="氧神美女", message_url="https://www.dingtalk.com/", pic_url="https://unzippedtv.com/wp-content/uploads/sites/28/2016/02/asian.jpg")
links = [feedlink1.get_data(), feedlink2.get_data(), feedlink3.get_data()]
xiaoding.send_feed_card(links)

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# ActionCard整體跳轉(zhuǎn)消息類型
btns1 = [{"title": "查看詳情", "actionURL": "https://www.dingtalk.com/"}]
actioncard1 = ActionCard(title='萬萬沒想到,竟然...',
        text='![選擇](http://www.songshan.es/wp-content/uploads/2016/01/Yin-Yang.png) \n### 故事是這樣子的...',
        btns=btns1,
        btn_orientation=1,
        hide_avatar=1)
xiaoding.send_action_card(actioncard1)

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# ActionCard獨(dú)立跳轉(zhuǎn)消息類型(雙選項(xiàng))
btns2 = [{"title": "支持", "actionURL": "https://www.dingtalk.com/"}, {"title": "反對(duì)", "actionURL": "http://www.back china.com/news/2018/01/11/537468.html"}]
actioncard2 = ActionCard(title='萬萬沒想到,竟然...',
        text='![選擇](http://www.songshan.es/wp-content/uploads/2016/01/Yin-Yang.png) \n### 故事是這樣子的...',
        btns=btns2,
        btn_orientation=1,
        hide_avatar=1)
xiaoding.send_action_card(actioncard2)

釘釘群自定義機(jī)器人消息Python封裝的實(shí)例

# ActionCard獨(dú)立跳轉(zhuǎn)消息類型(列表選項(xiàng))
btns3 = [{"title": "支持", "actionURL": "https://www.dingtalk.com/"}, {"title": "中立", "actionURL": "https://www.dingtalk.com/"}, {"title": "反對(duì)", "actionURL": "https://www.dingtalk.com/"}]
 actioncard3 = ActionCard(title='萬萬沒想到,竟然...',
        text='![選擇](http://www.songshan.es/wp-content/uploads/2016/01/Yin-Yang.png) \n### 故事是這樣子的...',
        btns=btns3,
        btn_orientation=1,
        hide_avatar=1)
xiaoding.send_action_card(actioncard3)

更多使用場(chǎng)景,盡情展開想象吧…

以上這篇釘釘群自定義機(jī)器人消息Python封裝的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI