Python 办公自动化教程

17《Python 办公自动化教程》利用 DingtalkCha

2022-05-20  本文已影响0人  木子教程

上一小节中结合 requests 完成了自定义机器人信息的发送,但在传递参数时,配置内容在使用较为繁琐,本小节将介绍一种使用更加便捷的方法来实现信息的发送。

1. DingtalkChatbot 模块介绍

DingtalkChatbot 模块是一个钉钉自定义机器人消息的 Python 封装库。

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

DingtalkChatbot 模块支持如下功能:

2. DingtalkChatbot 模块使用

DingtalkChatbot 模块是 Python 的第三方库,使用前需要通过以下命令进行安装:

pip install DingtalkChatbot
代码块1

DingtalkChatbot 安装完成后,使用步骤如下:

步骤 1:导入 DingtalkChatbot 模块

from dingtalkchatbot.chatbot import DingtalkChatbot
代码块1

步骤 2:初始化机器人

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

步骤 3:信息发送

利用 DingtalkChatbot 模块封装好的方法,完成各类型信息的发送。

下面将介绍 Python 第三方库 DingtalkChatbot 模块完成各类型信息的发送。

3. 发送信息

接下来,针对 DingtalkChatbot 提供的信息发送方法进行讲解,这里根据信息类型进行划分。

3.1 发送普通文本

from dingtalkchatbot.chatbot import DingtalkChatbot
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
xiaoq.send_text(msg='监测预警,大家好,我是小Q', is_at_all=True)
代码块1234

代码解释:首先通过 DingtalkChatbot () 方法初始化机器人,通过 send_text () 方法发送普通文本信息,msg 为发送的内容,is_at_all 为是否 @全员。执行完成后,效果如下图所示。

5fd4f8620987540006590601.jpg

3.2 发送图片

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 () 方法发送图片,pic_url 为指定的图片地址,执行完成后,效果如下图所示。


5fd4f86f097f79b406580592.jpg

3.3 发送 Link 信息

from dingtalkchatbot.chatbot import DingtalkChatbot
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
xiaoq.send_link(title='监测预警,这里有一条重要信息', text='API接口字段异常', message_url="https://www.imooc.com", pic_url="https://www.imooc.com/static/img/column/icon.png")
代码块1234

代码解释:通过 send_link () 方法发送带 Link 信息内容,其中 title 为标题内容,text 为简介内容,message_url 为 Link 跳转的链接地址,pic_url 为显示的图片地址。执行完成后,效果如下图所示。


5fd4f880093949e106610596.jpg

3.4 发送 markdown 信息

from dingtalkchatbot.chatbot import DingtalkChatbot
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
xiaoq.send_markdown(title='监测预警', text='#### 北京天气\n'
                    '> 9度,西北风1级\n'
                    '> 空气良89\n'
                    '> 相对温度73%\n',
                    is_at_all=True)

代码解释:通过 send_markdown () 方法发送 markdown 语法的信息,其中 title 为标题内容,text 为正文内容。执行完成后,效果如下图所示。


5fd4f88c097eb79506590605.jpg

3.5 发送 FeedCard 消息

from dingtalkchatbot.chatbot import DingtalkChatbot,CardItem
webhook = "https://oapi.dingtalk.com/robot/send?access_token=c01697dd3c97efecd727491693a2ead2d668e8c5dabeb0c3604f545821fc72b7"
xiaoq = DingtalkChatbot(webhook)
card1 = CardItem(title="监测预警-1", url="https://www.imooc.com", pic_url="https://www.imooc.com/static/img/column/icon.png")
card2 = CardItem(title="监测预警-2", url="https://www.imooc.com", pic_url="https://www.imooc.com/static/img/column/icon.png")
card3 = CardItem(title="监测预警-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 处导入 CardItem 后,通过 CardItem 初始化三条信息内容,包括标题、链接地址、图片地址,初始化完成后,调用 send_feed_card 方法进行信息发送。执行完成后,效果如下图所示。


5fd4f89809d4b6e506570609.jpg

4. 小结

本节课程我们主要学习了 DingtalkChatbot 模块介绍与安装。本节课程的重点如下:

上一篇 下一篇

猜你喜欢

热点阅读