釘釘群自定義機(jī)器人消息Python封裝的實(shí)例
一、釘釘群自定義機(jī)器人介紹
釘釘群機(jī)器人是釘釘群的一個(gè)高級擴(kuò)展功能,然而使用起來卻非常簡單,只有注冊一個(gè)釘釘賬號即可,就可以將第三方服務(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)化測試的結(jié)果報(bào)告提醒、工作、生活日程安排(上班打卡、下班吃飯、健身、讀書、生日、紀(jì)念日…)等等的提醒,通過自定義機(jī)器人聚合到釘釘中。
目前自定義機(jī)器人支持文本(text)、鏈接(link)、markdown三種消息格式、五種消息類型,詳細(xì)信息請參考自定義機(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語言對各種消息類型進(jìn)行了一一封裝,代碼已開源在GitHub上,同時(shí)也上傳了PyPI。
1、項(xiàng)目源碼地址如下:DingtalkChatbot
2、安裝命令如下:
pip install DingtalkChatbot
3、支持功能如下:
- 支持Text消息;
- 支持Link消息;
- 支持Markdown消息;
- 支持ActionCard消息;
- 支持消息發(fā)送失敗時(shí)自動(dòng)通知;
- 支持Python2、Python3;
三、各消息類型使用示例
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)
# Text消息之@指定用戶 at_mobiles = ['這里填寫需要提醒的用戶的手機(jī)號碼,字符串或數(shù)字都可以'] xiaoding.send_text(msg='我就是小丁,小丁就是我!', at_mobiles=at_mobiles)
# Link消息 xiaoding.send_link(title='萬萬沒想到,某小璐竟然...', text='故事是這樣子的...', message_url='http://www.kwongwah.com.my/?p=454748", pic_url="https://pbs.twimg.com/media/CEwj7EDWgAE5eIF.jpg')
# Markdown消息@所有人 xiaoding.send_markdown(title='氧氣文字', text='#### 廣州天氣\n' '> 9度,西北風(fēng)1級,空氣良89,相對溫度73%\n\n' '> \n' '> ###### 10點(diǎn)20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n', is_at_all=True)
# Markdown消息@指定用戶 xiaoding.send_markdown(title='氧氣文字', text='#### 廣州天氣 @用戶手機(jī)號\n' '> 9度,西北風(fēng)1級,空氣良89,相對溫度73%\n\n' '> \n' '> ###### 10點(diǎn)20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n', at_mobiles=at_mobiles)
# 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)
# ActionCard整體跳轉(zhuǎn)消息類型 btns1 = [{"title": "查看詳情", "actionURL": "https://www.dingtalk.com/"}] actioncard1 = ActionCard(title='萬萬沒想到,竟然...', text=' \n### 故事是這樣子的...', btns=btns1, btn_orientation=1, hide_avatar=1) xiaoding.send_action_card(actioncard1)
# ActionCard獨(dú)立跳轉(zhuǎn)消息類型(雙選項(xiàng)) btns2 = [{"title": "支持", "actionURL": "https://www.dingtalk.com/"}, {"title": "反對", "actionURL": "http://www.back china.com/news/2018/01/11/537468.html"}] actioncard2 = ActionCard(title='萬萬沒想到,竟然...', text=' \n### 故事是這樣子的...', btns=btns2, btn_orientation=1, hide_avatar=1) xiaoding.send_action_card(actioncard2)
# ActionCard獨(dú)立跳轉(zhuǎn)消息類型(列表選項(xiàng)) btns3 = [{"title": "支持", "actionURL": "https://www.dingtalk.com/"}, {"title": "中立", "actionURL": "https://www.dingtalk.com/"}, {"title": "反對", "actionURL": "https://www.dingtalk.com/"}] actioncard3 = ActionCard(title='萬萬沒想到,竟然...', text=' \n### 故事是這樣子的...', btns=btns3, btn_orientation=1, hide_avatar=1) xiaoding.send_action_card(actioncard3)
更多使用場景,盡情展開想象吧…
以上這篇釘釘群自定義機(jī)器人消息Python封裝的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python numpy中的polyfit函數(shù)用法
這篇文章主要介紹了python numpy中的polyfit函數(shù)用法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04python字典翻轉(zhuǎn)的實(shí)現(xiàn)
本文主要介紹了python字典翻轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05opencv-python 開發(fā)環(huán)境的安裝、配置教程詳解
這篇文章主要介紹了opencv-python 開發(fā)環(huán)境的安裝、配置,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Python 類屬性與實(shí)例屬性,類對象與實(shí)例對象用法分析
這篇文章主要介紹了Python 類屬性與實(shí)例屬性,類對象與實(shí)例對象用法,結(jié)合實(shí)例形式分析了java類相關(guān)的屬性、實(shí)例化、對象等相關(guān)概念與操作技巧,需要的朋友可以參考下2019-09-09Python開發(fā)常用五種循環(huán)方式的場景性能比較
Python是一門高級編程語言,其擁有多種循環(huán)方式,如for循環(huán)、while循環(huán)、do-while循環(huán)等。本文將逐個(gè)分析Python所有的循環(huán)執(zhí)行效率和適用場景,需要的可以參考一下2023-04-04Numpy中創(chuàng)建數(shù)組的9種方式小結(jié)
本文主要介紹了Numpy中創(chuàng)建數(shù)組的9種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03python列表推導(dǎo)式入門學(xué)習(xí)解析
這篇文章主要介紹了python列表推導(dǎo)式入門學(xué)習(xí)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12