0x00 前言
大致思路如下:
- 利用钉钉的webhook,结合python代码,实现发消息的功能。
- 利用windows自动任务,或linux的定时任务,实现定时发消息的功能,做一个小闹钟。
参考资料
1.钉钉机器人自动提醒(python版)
2.windows上pip安装及使用详解
3.pyinstaller库的安装及打包
4.window设置定时任务执行python脚本
0x01 python联动钉钉发消息
网上找了一段简单的python代码(参考1),稍作修改,具体如下:
#encoding:utf-8
import json
import requests
def message():
url = 'https://oapi.dingtalk.com/robot/send?access_token=f9100f8f1d795a24809c5efbe2f9414b0ad0d4cbe7da8ee9ef3aae90889163bb'
pagrem = {
"msgtype": "text",
"text": {
"content": "蕾姆酱提醒:下班时间到咯,请更新您的tb和提交日报。"
},
"at":{
"atMobiles":[
"1870251****","1820529****" #需要填写自己的手机号,钉钉通过手机号@对应人
],
"isAtAll": False #是否@所有人,默认否
}
}
headers = {
'Content-Type': 'application/json'
}
requests.post(url, data=json.dumps(pagrem), headers=headers)
if __name__ == "__main__":
message()
其中url就是钉钉机器人的webhook地址。
在pycharm下运行一下,可以发消息。效果如下:
0x02 生成exe,定时执行
我的做法是将上述代码打包成exe,再通过windows的计划任务定时执行。
打包程序用的是pyinstaller,为了方便建议使用pip来安装pyinstaller。
如何安装pip可以看参考2,大佬讲的还是很详细地。因为这代码采用了requests模块,所以利用pip安装一下该模块pip install requests
。
装完后,利用本地的python(我是win10,py2.7)跑一下上述的代码,执行没问题,就能开始打包了。
怎么装pyinstaller看参考3,大佬讲得还是很详细地。执行pip install pyinstaller
,安装完毕后开始打包。
将上述代码保存为sendding.py,放到python安装目录下的Scripts中,安装完毕的pyinstaller.exe也在该目录中,执行命令pyinstaller.exe -F sendding.py
开始打包,打包完成后会有成功提示:
生成的exe会在该目录下的dist文件夹中
图片.png
这个exe可以拿出来单独执行,运行一下,能够成功发送消息。放到windows上配一个计划任务,按时执行就可以了。
至此,钉钉小闹钟制作完毕。
tips: 也可让windows或linux定时执行代码,但我感觉比较麻烦,万一换一台设备,还要重新配置py环境,干脆打包成exe,方便,好使!
网友评论