美文网首页
做个钉钉小闹钟

做个钉钉小闹钟

作者: 恶魔缘 | 来源:发表于2019-10-10 15:51 被阅读0次

    0x00 前言

    大致思路如下:

    1. 利用钉钉的webhook,结合python代码,实现发消息的功能。
    2. 利用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,方便,好使!

    相关文章

      网友评论

          本文标题:做个钉钉小闹钟

          本文链接:https://www.haomeiwen.com/subject/tiylyctx.html