时间:2021-05-22
背景
偶然发现一个python实现的按照农历/阴历推送消息提醒的程序,钉钉群消息推送。此处总结并对其可推送的消息做。
DingtalkNotice
环境:python3.7
安装:
pip install schedule #实现定时任务的模块pip install DingtalkChatbot #python封装的各种消息的调用pip install sxtwl #日历库钉钉自定义机器人:
钉钉群机器人是一个高级扩展的功能,可以将第三方服务的信息聚合到钉钉群众,实现信息的自动化同步。1、通过聚合Github、Gitlab等源码管理服务,实现源码更新的同步;2、通过聚合Trello、JIRA等项目协调服务,实现项目信息同步;3、支持Webhook协议的自定义接入,可实现比如运维报警提醒、自动化测试结果报告提醒、工作与生活日程安排(上下班打卡、纪念日、生日)等等的提醒,均可通过自定义机器人聚合到钉钉中。目前自定义机器人支持文本(text)、链接(link)、markdown三种消息格式,五种消息类型。参考官方链接:钉钉自定义机器人,官方对各种消息的调用只提供了Java语言的封装,Python的封装见参考链接:https:///robot/send?access_token=' #填写你自己创建的机器人xiaoding = DingtalkChatbot(webhook) ymc = ["11", "12", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10" ]rmc = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"] def birthdayNotice_job(bri_name,bri_mon,bri_day,futureDays=3): print("birthdayNotice_job is working...") dayYinli2Yangli = lunar.getDayByLunar(int(time.strftime("%Y")), bri_mon, bri_day , False) #查询阴历2018年10月20日的信息,最后一个False表示是否是润月,填True的时候只有当年有润月的时候才生效 yangliDay = (str(dayYinli2Yangli.y) + One2TwoDigit(str(dayYinli2Yangli.m)) + One2TwoDigit(str(dayYinli2Yangli.d))) yangliDayMsg ='农历:' + (str(bri_mon) + '月' + (str(bri_day)) + '日' ) print(bri_name+'阳历生日是:'+yangliDay) d2 = date_part(yangliDay) d1 = date_part(date=datetime.datetime.now().strftime('%Y%m%d')) differ_day = (d2 - d1).days if 0<differ_day<=futureDays: name = bri_name xiaoding.send_text(msg= yangliDayMsg + '是【' + name + '】的生日🎂\n再过' + str(differ_day) + '天就到了~\n', is_at_all=True) # Text消息@所有人 print(time.strftime("%Y-%m-%d") + name + '的生日提前提醒发送完毕~\n') elif differ_day==0 : name = bri_name xiaoding.send_text(msg='今天是【' + name + '】的生日🎂\n祝寿星生日快乐!\n', is_at_all=True) # Text消息@所有人 print(time.strftime("%Y-%m-%d") + name + '的当天生日提醒发送完毕~\n')
run.py
# -*- coding: utf-8 -*- from birthday_notice import birthdayNotice_jobimport scheduleimport timedef run(): print("定时任务开始...") f_douhao = open(r"data.csv","r") line_douhao = f_douhao.readlines() for i in range(6): bri_name = (line_douhao[i].split(";")[0]) bri_mon = (line_douhao[i].split(";")[1]) bri_day = (line_douhao[i].split(";")[2]) birthdayNotice_job(bri_name,int(bri_mon),int(bri_day),futureDays=5) f_douhao.close() schedule.every().day.at("16:49").do(run)while True: schedule.run_pending() time.sleep(1)以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#实现推送钉钉消息的方法。分享给大家供大家参考,具体如下:利用钉钉提供的API可以推送消息到用户的钉钉app。根据钉钉的官方文档,调用钉钉的ap
这篇文章主要介绍了基于java使用钉钉机器人向钉钉群推送消息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下第
12月2日消息,亿邦动力获悉,钉钉发布更新内容。在更新后,钉钉实现数字化活名片功能。亿邦动力了解到,数字化活名片能实现3秒内百人互换名片。此外,钉钉还将增设“智
自己写了一个简单的python脚本,用来推送zabbix告警到钉钉机器人,推送格式为markdown,有需要的可以自己修改markdown的格式及推送的值(za
钉钉打电话没有来电通知的原因如下: 1、钉钉没有开启消息提醒,建议用户将新消息通知开启。 2、手机未开启钉钉通知权限,建议用户将钉钉消息通知打开。 3、手