又是加班的一天,但是又双叒忘记打卡了,
真的是有苦说不出,于是我就琢磨着搞个自动打卡的程序。
然而研究半天,依然没走通,不过我发现企微的一个好用功能。能利用微信的机会我怎么能放过。
话不多说,我先是研究了一下微信 群机器人配置说明
然后我发现可以用机器人给我自己发消息。整体走通了,下面就是实施了。首先,又有个问题了。机器人要在群里创建,我把自己的微信拉进来,创建了个群,结果。。。 外部群并不让创建机器人。
岂能被这种给限制。于是我拉了一个同事创建了一个群,然后就立马踢掉了。我假装向他请教企微的问题,留意到他企微微信并没有任何通知,我发现新大陆了,只要你不在群里说任何话就踢掉,这个群对别人来说是不存在的。所以现在群里只有我自己一个人了,然后也可以创建机器人了!!
我顺利copy到企微的 webhook(https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXXXX),不用多说,猜都能猜到key= 后面的东西就是群的唯一标识了。
剩下就是码代码的时候了。
def send_msg(msg, at_who): post_msg_context = { "msgtype": "text", "text": { "content": msg, "mentioned_list": at_who }, } headers = {"Content-Type": "application/json"} res = requests.post(webhook, headers=headers, data=json.dumps(post_msg_context))
然后就是调用了:
if __name__ == "__main__": msg = "晚上8点半,可以打卡了!�� " at_who = ["@all"] send_msg(msg, at_who)
跑一下程序,成功!
但是怎么样能够每天发出来呢?
于是我想到crontab这个好东西,Linux上很实用了。保存python文件为
offwork_clocking.py
然后创建一个shell脚本#!/bin/bashpython offwork_clocking.py
最后在linux中 crontab -e
#打卡提醒30 20 * * * cd robot && sh run_robot.sh 2>&1
大工告成!!!
最后的最后就是一点点优化了,每天都发一样的有点烦,那就搞个emoji的列表,每天随机选一个。还有就是周日、节假日的时候不想也被叨扰。那就加个
chinese_calendar 的包,判断一下是否周末、节假日。
话说,我岂能满足于此,我突然到既然消息可以发,那图片、文件都可以了。
既然可以是消息,那我如果爬一下股票的信息,处理好也可以发咯。这个咱们下期安排!
感兴趣,可以关注公众号elegantcoin,接受更多消息



