钉钉添加自定义机器人,实现每周定时@某人

一、添加自定义机器人,获取机器人Webhook

1、选择需要添加机器人的群聊

2、新增自定义机器人

群设置-智能群助手-添加机器人-选择自定义机器人
在这里插入图片描述
在这里插入图片描述

3、配置机器人信息

在这里插入图片描述
机器人名字:随便起一个
安全设置:

  1. 自定义关键词:设定后,只有包含关键词的消息内容才会被正常发送设定后,只有包含关键词的消息内容才会被正常发送
  2. 加签:使用加密签名
  3. IP地址(段):设定后,只有来自IP地址范围内的请求才会被正常处理

4、获取Webhook地址

完成安全设置后,复制出机器人的Webhook地址,可用于向这个群发送消息,格式如下:
在这里插入图片描述

5、机器人是否添加成功

机器人添加成功后在群里会有一条通知
在这里插入图片描述

二、使用自定义机器人

  获取到Webhook地址后,用户可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群发送消息。

注意:

  • 发起POST请求时,必须将字符集编码设置成UTF-8
  • 每个机器人每分钟最多发送20条。消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景 (譬如系统监控报警) 可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里

  当前自定义机器人支持文本 (text)、链接 (link)、markdown(markdown)、ActionCard、FeedCard消息类型,请根据自己的使用场景选择合适的消息类型,达到最好的展示样式。详情参考:自定义机器人接入

  自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒。免打扰会话仍然通知提醒,首屏出现“有人@你”。

通过以下方法,可以快速验证自定义机器人是否可以正常工作:

curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text","text": {"content":"我就是我, 是不一样的烟火"}}'

在这里插入图片描述
效果:
在这里插入图片描述

三、实现定时通知某负责人(Python实现)

1、下载三方库(DingtalkChatbot)

执行命令:pip3 install DingtalkChatbot

2、代码实现

(1)aList中存放需要被通知的人员,每次只@一个人

(2)通过一个ini文件记录当前执行到第几次

(3)aPhone就是本次要被@的人,取的aList中的某个人

(4)aList的下标获取办法:使用ini文件中的times,times与aList列表的长度取余得到下标

from dingtalkchatbot.chatbot import DingtalkChatbot
from configparser import ConfigParser
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding ='utf-8')

# 双周周一提醒

'''
# 手机号
'18xxxxxxxxx'  # 某人1
'13xxxxxxxxx'  # 某人2
'15xxxxxxxxx'  # 某人3
'''

class releaseTask():

    def releaseAlert(self, webhook, phone, title, text, message_url, msg):
        webhook = webhook
        dingding = DingtalkChatbot(webhook)

        # 发送 link消息,文案里必须要有:自定义关键词test
        dingding.send_link(title=title, text=text,
                           message_url=message_url)
        # 发送 Text消息@某人,文案里必须要有:自定义关键词test
        at_mobiles = [phone]
        dingding.send_text(msg=msg, at_mobiles=at_mobiles)

        print(sys.stdout)
        print(at_mobiles)
        print("提醒成功")

    def read_config(self, cfg_file):
        cfg = ConfigParser()
        cfg.read(cfg_file)
        return cfg

releaseTask = releaseTask()

filepath = "index.ini"
# 取cfg文件值
cfg = releaseTask.read_config(filepath)
times = int(cfg.get('release', 'times'))

aList = ["18xxxxxxxxx", "13xxxxxxxxx", "15xxxxxxxxx"]
alength = len(aList)

aPhone = aList[times % (alength)]

# webhook
webhook_release = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxx'

title = '提醒机器人test'
text = '点击这里,查看流程文档吧test'
message_url = 'https://wiki.quickcan.com/pages/viewpage.action?pageId=xxxx'
msg = '本期由以下同学负责test'

# 跟版负责人提醒
releaseTask.releaseAlert(webhook_release, aPhone, title, text, message_url, msg)

# 更新cfg文件值
times_update = times + 1
cfg.set('release', 'times', str(times_update))
cfg.write(open(filepath, "w"))

执行后:
在这里插入图片描述
效果:
在这里插入图片描述
3、定时任务
使用Jenkins实现,Jenkins设置定时任务可参考:jenkins详细教程

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 钉钉自动回复机器人是一种通过编写 Python 脚本将机器人钉钉进行对接,并对收到的消息进行自动回复的方式。通过这种方式,可以极大地提高日常工作中的效率,特别是在处理较为繁琐的回复任务时。 具体来说,Python 钉钉自动回复机器人实现过程如下: 1. 首先需要创建一个自定义机器人,并获得机器人的 Webhook 地址。这可以通过在钉钉开放平台进行创建,并获得相应的访问秘钥来实现。同时,也需要安装 Python 的相关依赖,如 DingtalkChatbot 等库。 2. 编写 Python 脚本,将自定义机器人与 Webhook 地址进行对接,并定义自动回复的内容。可以根据正则表达式或关键字进行判断,并发送不同的回复内容。 3. 将 Python 脚本进行部署,并保持脚本的运行状态。可以将脚本放置在云服务器或本地计算机中,并使用 nohup 或 screen 等命令将其进行后台运行。 4. 考虑针对不同场景进行自动回复机器人的优化。可以根据不同的部门或业务进行分类处理,使得机器人能够更好地处理不同的问题,并提高反馈速度和质量。 5. 将自动回复机器人的结果发送到组织内部的群聊或用户的私信中,以便交流和处理更加复杂的问题。 总之,Python 钉钉自动回复机器人可以极大地提高工作效率,特别是在处理较为繁琐的任务时。通过灵活的编程,可以根据实际需求进行定制化开发,并对工作中的问题进行快速响应和处理,从而提高团队的工作效率和生产力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值