「原创声明:保留所有权利,禁止转载」
- 语言:Python
- 使用库:dingtalkchatbot configparser
1、工作中的具体需求(解决什么问题)
(1)每周一提醒业务组同事创建日报 wiki
(2)每周三提醒开发 owner 查看 bugly 问题
(3)每周五提醒学习小组 owner 组织分享
......等等诸如此类的需求
2、整体思路(需要做什么)
(1)发钉钉通知、确定通知内容、通知谁
(2)发送时间
3、有哪些解决方法
(1)钉钉通知
钉钉公开 API
dingtalkchatbot(基于官方 AP 二次 I 封装)
(2)定时任务
python 定时任务 (sleep / Timer / schedule / APScheduler)
jenkisn 日程表
最后的选择:
- dingtalkchatbot + jenkisn 定时任务
4、具体实现
(1)钉钉通知
- 添加 webhook
- 添加固定通知内容
from dingtalkchatbot.chatbot import DingtalkChatbot
from configparser import ConfigParser
class weekly():
def weeklyAlert(self, webhook, phone):
webhook = webhook
dingding = DingtalkChatbot(webhook)
# 发送 link消息
dingding.send_link(title='Python小助手', text='点击这里,查看本周的Python分享', message_url='https://wiki.lalal.ccc')
# 发送 Text消息@某人
at_mobiles = [phone]
dingding.send_text(msg='本周Python小助手', at_mobiles=at_mobiles)
print("phone : " + str(phone))
print(str("提醒成功"))
def read_config(self, cfg_file):
cfg = ConfigParser()
cfg.read(cfg_file)
return cfg
weekly = weekly()
cfg = weekly.read_config("/Users/test/Documents/weekly_base/weekphone.ini")
count = cfg.get('weekly', 'count')
webhook_week = 'https://oapi.dingtalk.com/robot/send?access_token=xxx'
if count == '0':
phone = '189xxx' # nico
weekly.weeklyAlert(webhook_week, phone)
cfg.set('weekly', 'count', '1')
cfg.write(open("/Users/test/Documents/weekly_base/weekphone.ini", "w"))
else :
phone = '158xxx' # budy
weekly.weeklyAlert(webhook_week, phone)
cfg.set('weekly', 'count', '0')
cfg.write(open("/Users/test/Documents/weekly_base/weekphone.ini", "w"))
(2)更新通知人
- 通过 config 替换
[weekly]
count = 3
(2)定时提醒
- jenkins 日程表
- H 9 1-7,15-21 * 1
最终效果↓
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。