美文网首页Python 办公自动化教程
17《Python 办公自动化教程》利用 DingtalkCha

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

作者: 木子教程 | 来源:发表于2022-05-20 21:42 被阅读0次

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

    1. DingtalkChatbot 模块介绍

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

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

    DingtalkChatbot 模块支持如下功能:

    • 支持 Text 消息;
    • 支持 Link 消息;
    • 支持 image 表情消息;
    • 支持 Markdown 消息;
    • 支持 ActionCard 消息;
    • 支持消息发送失败时自动通知(默认 fail_notice=False 不通知,开发者可根据返回的消息发送结果自行判断处理);
    • 支持设置消息链接打开方式(默认 pc_slide=False,跳转至浏览器打开,pc_slide=True,则在 PC 端侧边栏打开);
    • 支持钉钉官方消息发送频率限制限制:每个机器人每分钟最多发送 20 条;
      支持 Python2、Python3;
    • 支持钉钉企业内部机器人自定义 outgoing 机器人消息发送;
    • 支持最新版钉钉机器人加密设置密钥验证。

    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 模块介绍与安装。本节课程的重点如下:

    • 了解 DingtalkChatbot 模块的作用;
    • 掌握 DingtalkChatbot 模块使用步骤;
    • 掌握 DingtalkChatbot 模块发送各类型信息的使用方法;

    相关文章

      网友评论

        本文标题:17《Python 办公自动化教程》利用 DingtalkCha

        本文链接:https://www.haomeiwen.com/subject/slcqprtx.html