钉钉添加自定义机器人,实现每周定时@某人 |
您所在的位置:网站首页 › 怎么添加钉钉号 › 钉钉添加自定义机器人,实现每周定时@某人 |
文章目录
一、添加自定义机器人,获取机器人Webhook1、选择需要添加机器人的群聊2、新增自定义机器人3、配置机器人信息4、获取Webhook地址5、机器人是否添加成功
二、使用自定义机器人三、实现定时通知某负责人(Python实现)1、下载三方库(DingtalkChatbot)2、代码实现
一、添加自定义机器人,获取机器人Webhook
1、选择需要添加机器人的群聊
2、新增自定义机器人
群设置-智能群助手-添加机器人-选择自定义机器人
完成安全设置后,复制出机器人的Webhook地址,可用于向这个群发送消息,格式如下: 机器人添加成功后在群里会有一条通知 获取到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":"我就是我, 是不一样的烟火"}}'
执行命令: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"))执行后: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |