使用Python来实现钉钉自动化发送消息

  • 首先pip下载第三方库:
  • pip install -i https://pypi.douban.com/simple/ 要下载的库名称
  • DingtalkChatbot库

第一步:电脑上开启钉钉群机器人,获取它的urlToken和secret

在这里插入图片描述

开始Python编码,只是演示,不是封装,不必在意我的中文命名
from dingtalkchatbot.chatbot import DingtalkChatbot, FeedLink
import time
import hmac
import urllib
import hashlib
import base64


# 获取链接,填入urlToken 和 secret 
def getSIGN():
    timestamp = str(round(time.time() * 1000))
    urlToken = "你的urlToken "
    secret = '你的secret '
    secret_enc = secret.encode('utf-8')
    string_to_sign = '{}\n{}'.format(timestamp, secret)
    string_to_sign_enc = string_to_sign.encode('utf-8')
    hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
    sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))

    SignMessage = urlToken + "&timestamp=" + timestamp + "&sign=" + sign
    return SignMessage


SignMessage = getSIGN()
xiaoDing = DingtalkChatbot(SignMessage)  # 初始化机器人


def 发送文本():
    """第一: 发送文本-->
    send_text(self,msg,is_at_all=False,at_mobiles=[],at_dingtalk_ids=[],is_auto_at=True)
        msg: 发送的消息
        is_at_all:是@所有人吗? 默认False,如果是True.会覆盖其它的属性
        at_mobiles:要@的人的列表,填写的是手机号
        at_dingtalk_ids:未知;文档说的是"被@人的dingtalkId(可选)"
        is_auto_at:默认为True.经过测试,False是每个人一条只能@一次,重复的会过滤,否则不然,测试结果与文档不一致
    """
    xiaoDing.send_text('我是陈钉,我为自己代言', is_at_all=True)


def 发送图片():
    """第二:发送图片
    send_image(self, pic_url):
        pic_url: "图片地址"
    """
    xiaoDing.send_image("http://rrd.me/gE93L")


def 发送link():
    """第三:发送link
    send_link(self, title, text, message_url, pic_url='')
        title:标题    text:内容,太长会自动截取
        message_url:跳转的url  pic_url:添加的图片的url(可选)
    """
    xiaoDing.send_link(title="今天是星期8", text="牵你的手,朝朝暮暮,牵你的手,等待明天,牵你的手,走过今生,牵你的手,生生世世",
                       message_url="https://baidu.com",
                       pic_url="http://rrd.me/gE93L")


def 发送markdown():
    """第四:发送markdown
    send_markdown(self,title,text,is_at_all=False,at_mobiles=[],at_dingtalk_ids=[],is_auto_at=True)
        title:标题    text:内容
        is_at_all: @所有人时:true,否则为:false(可选)
        at_mobiles: 被@人的手机号(默认自动添加在text内容末尾,可取消自动化添加改为自定义设置,可选)
        at_dingtalk_ids: 被@人的dingtalkId(可选)
        is_auto_at: 是否自动在text内容末尾添加@手机号,默认自动添加,可设置为False取消(可选)
    """
    xiaoDing.send_markdown(title="我是标题",text="我是内容,啊哈哈哈哈哈",is_at_all=True)


def 发送图片超链接():
    # send_feed_card(links)
    """
        links是一个列表a,列表里每个元素又是列表b
        列表b的属性:
            title:标题    message_url:点开后跳转的URL   pic_url:图片的地址
    Returns:

    """
    feedlink1 = FeedLink(title="猫1", message_url="https://www.badiu.com/",
                         pic_url="http://rrd.me/gE9zB")
    feedlink2 = FeedLink(title="猫2", message_url="https://www.badiu.com/",
                         pic_url="http://rrd.me/gE9zN")
    feedlink3 = FeedLink(title="猫3", message_url="https://www.badiu.com/",
                         pic_url="http://rrd.me/gE9zV")
    feedlin4k = FeedLink(title="猫4", message_url="https://www.badiu.com/",
                         pic_url="http://rrd.me/gE92a")

    links = [feedlink1, feedlink2, feedlink3, feedlin4k]
    xiaoDing.send_feed_card(links)
接下来就是展示自己使用场景的时候了
sched实现定时任务
结合爬虫, 数据分析得到的结果
… …
  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原来你是小幸运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值