17《Python 辦公自動(dòng)化教程》利用 DingtalkChatbot 模塊發(fā)送信息

上一小節(jié)中結(jié)合 requests 完成了自定義機(jī)器人信息的發(fā)送,但在傳遞參數(shù)時(shí),配置內(nèi)容在使用較為繁瑣,本小節(jié)將介紹一種使用更加便捷的方法來實(shí)現(xiàn)信息的發(fā)送。

1. DingtalkChatbot 模塊介紹

DingtalkChatbot 模塊是一個(gè)釘釘自定義機(jī)器人消息的 Python 封裝庫(kù)。

github 地址:https://github.com/zhuifengshen/DingtalkChatbot

DingtalkChatbot 模塊支持如下功能:

  • 支持 Text 消息;
  • 支持 Link 消息;
  • 支持 image 表情消息;
  • 支持 Markdown 消息;
  • 支持 ActionCard 消息;
  • 支持消息發(fā)送失敗時(shí)自動(dòng)通知(默認(rèn) fail_notice=False 不通知,開發(fā)者可根據(jù)返回的消息發(fā)送結(jié)果自行判斷處理);
  • 支持設(shè)置消息鏈接打開方式(默認(rèn) pc_slide=False,跳轉(zhuǎn)至瀏覽器打開,pc_slide=True,則在 PC 端側(cè)邊欄打開);
  • 支持釘釘官方消息發(fā)送頻率限制限制:每個(gè)機(jī)器人每分鐘最多發(fā)送 20 條;
    支持 Python2、Python3;
  • 支持釘釘企業(yè)內(nèi)部機(jī)器人自定義 outgoing 機(jī)器人消息發(fā)送;
  • 支持最新版釘釘機(jī)器人加密設(shè)置密鑰驗(yàn)證。

2. DingtalkChatbot 模塊使用

DingtalkChatbot 模塊是 Python 的第三方庫(kù),使用前需要通過以下命令進(jìn)行安裝:

pip install DingtalkChatbot
代碼塊1

DingtalkChatbot 安裝完成后,使用步驟如下:

步驟 1:導(dǎo)入 DingtalkChatbot 模塊

from dingtalkchatbot.chatbot import DingtalkChatbot
代碼塊1

步驟 2:初始化機(jī)器人

webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
代碼塊12

步驟 3:信息發(fā)送

利用 DingtalkChatbot 模塊封裝好的方法,完成各類型信息的發(fā)送。

下面將介紹 Python 第三方庫(kù) DingtalkChatbot 模塊完成各類型信息的發(fā)送。

3. 發(fā)送信息

接下來,針對(duì) DingtalkChatbot 提供的信息發(fā)送方法進(jìn)行講解,這里根據(jù)信息類型進(jìn)行劃分。

3.1 發(fā)送普通文本

from dingtalkchatbot.chatbot import DingtalkChatbot
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
xiaoq.send_text(msg='監(jiān)測(cè)預(yù)警,大家好,我是小Q', is_at_all=True)
代碼塊1234

代碼解釋:首先通過 DingtalkChatbot () 方法初始化機(jī)器人,通過 send_text () 方法發(fā)送普通文本信息,msg 為發(fā)送的內(nèi)容,is_at_all 為是否 @全員。執(zhí)行完成后,效果如下圖所示。

5fd4f8620987540006590601.jpg

3.2 發(fā)送圖片

from dingtalkchatbot.chatbot import DingtalkChatbot
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
xiaoq.send_image(pic_url='https://www.imooc.com/static/img/column/icon.png')
代碼塊1234

代碼解釋:通過 send_image () 方法發(fā)送圖片,pic_url 為指定的圖片地址,執(zhí)行完成后,效果如下圖所示。


5fd4f86f097f79b406580592.jpg

3.3 發(fā)送 Link 信息

from dingtalkchatbot.chatbot import DingtalkChatbot
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
xiaoq.send_link(title='監(jiān)測(cè)預(yù)警,這里有一條重要信息', text='API接口字段異常', message_url="https://www.imooc.com", pic_url="https://www.imooc.com/static/img/column/icon.png")
代碼塊1234

代碼解釋:通過 send_link () 方法發(fā)送帶 Link 信息內(nèi)容,其中 title 為標(biāo)題內(nèi)容,text 為簡(jiǎn)介內(nèi)容,message_url 為 Link 跳轉(zhuǎn)的鏈接地址,pic_url 為顯示的圖片地址。執(zhí)行完成后,效果如下圖所示。


5fd4f880093949e106610596.jpg

3.4 發(fā)送 markdown 信息

from dingtalkchatbot.chatbot import DingtalkChatbot
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
xiaoq.send_markdown(title='監(jiān)測(cè)預(yù)警', text='#### 北京天氣\n'
                    '> 9度,西北風(fēng)1級(jí)\n'
                    '> 空氣良89\n'
                    '> 相對(duì)溫度73%\n',
                    is_at_all=True)

代碼解釋:通過 send_markdown () 方法發(fā)送 markdown 語法的信息,其中 title 為標(biāo)題內(nèi)容,text 為正文內(nèi)容。執(zhí)行完成后,效果如下圖所示。


5fd4f88c097eb79506590605.jpg

3.5 發(fā)送 FeedCard 消息

from dingtalkchatbot.chatbot import DingtalkChatbot,CardItem
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
card1 = CardItem(title="監(jiān)測(cè)預(yù)警-1", url="https://www.imooc.com", pic_url="https://www.imooc.com/static/img/column/icon.png")
card2 = CardItem(title="監(jiān)測(cè)預(yù)警-2", url="https://www.imooc.com", pic_url="https://www.imooc.com/static/img/column/icon.png")
card3 = CardItem(title="監(jiān)測(cè)預(yù)警-3", url="https://www.imooc.com", pic_url="https://www.imooc.com/static/img/column/icon.png")
cards = [card1, card2, card3]
xiaoq.send_feed_card(cards)

代碼解釋:在 import 處導(dǎo)入 CardItem 后,通過 CardItem 初始化三條信息內(nèi)容,包括標(biāo)題、鏈接地址、圖片地址,初始化完成后,調(diào)用 send_feed_card 方法進(jìn)行信息發(fā)送。執(zhí)行完成后,效果如下圖所示。


5fd4f89809d4b6e506570609.jpg

4. 小結(jié)

本節(jié)課程我們主要學(xué)習(xí)了 DingtalkChatbot 模塊介紹與安裝。本節(jié)課程的重點(diǎn)如下:

  • 了解 DingtalkChatbot 模塊的作用;
  • 掌握 DingtalkChatbot 模塊使用步驟;
  • 掌握 DingtalkChatbot 模塊發(fā)送各類型信息的使用方法;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容