釘釘群自定義機器人消息Python封裝的實例
一、釘釘群自定義機器人介紹
釘釘群機器人是釘釘群的一個高級擴展功能,然而使用起來卻非常簡單,只有注冊一個釘釘賬號即可,就可以將第三方服務(wù)的信息聚合到釘釘群中,實現(xiàn)信息的自動化同步,例如:通過聚合Github、Gitlab等源碼管理服務(wù),實現(xiàn)源碼更新同步;通過聚合Trello、JIRA等項目協(xié)調(diào)服務(wù),實現(xiàn)項目信息同步;同事,支持Webhook協(xié)議的自定義接入,支持更多可能性,例如:將運維報警提醒、自動化測試的結(jié)果報告提醒、工作、生活日程安排(上班打卡、下班吃飯、健身、讀書、生日、紀(jì)念日…)等等的提醒,通過自定義機器人聚合到釘釘中。
目前自定義機器人支持文本(text)、鏈接(link)、markdown三種消息格式、五種消息類型,詳細(xì)信息請參考自定義機器人官方文檔
二、安裝使用
這么好用的功能,只要在群中添加好機器人,得到Webhoo地址,在命令行終端馬上就可以一睹為快:
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \ -H 'Content-Type: application/json' \ -d ' {"msgtype": "text", "text": { "content": "我就是我, 是不一樣的煙火" } }'
由于各種消息調(diào)用,官方只提供Java語言的封裝,平時使用Python比較多,為了更方便平時自動化項目的使用,周末花了點時間用Python語言對各種消息類型進行了一一封裝,代碼已開源在GitHub上,同時也上傳了PyPI。
1、項目源碼地址如下:DingtalkChatbot
2、安裝命令如下:
pip install DingtalkChatbot
3、支持功能如下:
- 支持Text消息;
- 支持Link消息;
- 支持Markdown消息;
- 支持ActionCard消息;
- 支持消息發(fā)送失敗時自動通知;
- 支持Python2、Python3;
三、各消息類型使用示例
from dingtalkchatbot.chatbot import DingtalkChatbot # WebHook地址 webhook = 'https://oapi.dingtalk.com/robot/send?access_token=這里填寫自己釘釘群自定義機器人的token' # 初始化機器人小丁 xiaoding = DtalkChatbot(webhook) # Text消息@所有人 xiaoding.send_text(msg='我就是小丁,小丁就是我!', is_at_all=True)
# Text消息之@指定用戶 at_mobiles = ['這里填寫需要提醒的用戶的手機號碼,字符串或數(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點20分發(fā)布 [天氣](http://www.thinkpage.cn/) \n', is_at_all=True)
# Markdown消息@指定用戶 xiaoding.send_markdown(title='氧氣文字', text='#### 廣州天氣 @用戶手機號\n' '> 9度,西北風(fēng)1級,空氣良89,相對溫度73%\n\n' '> \n' '> ###### 10點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獨立跳轉(zhuǎn)消息類型(雙選項) 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獨立跳轉(zhuǎn)消息類型(列表選項) 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)
更多使用場景,盡情展開想象吧…
以上這篇釘釘群自定義機器人消息Python封裝的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python numpy中的polyfit函數(shù)用法
這篇文章主要介紹了python numpy中的polyfit函數(shù)用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04opencv-python 開發(fā)環(huán)境的安裝、配置教程詳解
這篇文章主要介紹了opencv-python 開發(fā)環(huán)境的安裝、配置,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09Python開發(fā)常用五種循環(huán)方式的場景性能比較
Python是一門高級編程語言,其擁有多種循環(huán)方式,如for循環(huán)、while循環(huán)、do-while循環(huán)等。本文將逐個分析Python所有的循環(huán)執(zhí)行效率和適用場景,需要的可以參考一下2023-04-04Numpy中創(chuàng)建數(shù)組的9種方式小結(jié)
本文主要介紹了Numpy中創(chuàng)建數(shù)組的9種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03python列表推導(dǎo)式入門學(xué)習(xí)解析
這篇文章主要介紹了python列表推導(dǎo)式入門學(xué)習(xí)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12