【任务计划程序】打卡签到(自用)


前言

【github action+python】完成定时任务并推送(学会自制)(这里的github上这个glados签到不能用了,glados上的部分功能也变了,这里代码也跟着变一下。)
总是忘记给glados签到,试用了一下电脑自带的任务计划程序,给我每天打卡。

效果如下:

在这里插入图片描述

在使用这个签到的前提为:
在这里插入图片描述

任务计划程序

1、设计如下:win+R :输入:taskschd.msc
用法如下:Windows 系统如何定时运行 Python 程序或脚本
2、遇到的问题:
在这个属性里修改时,出现:一个或多个指定的参数无效
在这里插入图片描述

解决:解决任务计划程序出错一个或多个指定的参数无效

注意:这里选择一个人头的。
在这里插入图片描述
我修改为如下:
常规下:
在这里插入图片描述
条件如下:
在这里插入图片描述
设置如下:
在这里插入图片描述

其他

点击运行后终端一闪而过,可能程序运行完就结束了。
其他可能报错参考:
windows计划任务所遇到的闪退、触发器没有按时执行的坑

签到代码(更新如下)

此处:
cookie、加签secret、授权码key、为个人隐私,均已修改。(如何得到见:【github action+python】完成定时任务并推送(学会自制)
EMAIL_ADDRESS 在使用时也要修改。

import requests
import json
## qq与钉钉
import time
import hmac
import hashlib
import base64
import urllib.parse


#钉钉机器人
def dingding(mobile,text):
    timestamp = str(round(time.time() * 1000))
    #加签
    secret = 'SECe875a893333f66767cda863bd122e01ca9214b38f7120b2d1dd7d9f'
    secret_enc = secret.encode('utf-8')
    string_to_sign = '{}\n{}'.format(timestamp, secret)
    string_to_sign_enc = string_to_sign.encode('utf-8')
    hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
    sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
    #Webhook
    Webhook = "https://oapi.dingtalk.com/robot/send?access_token=5efbd2e95361045ae2ef9c6e637ed6dce1030234c573021eeefe148aac9f68d5"
    url =  Webhook + "&timestamp={}&sign={}".format(timestamp, sign)
    headers = {
        'Content-Type': 'application/json'
    }
    json ={
        "at": {
            "atMobiles":[
                mobile
            ],
            "atUserIds":[
                ""
            ],
            "isAtAll": "false"
        },
        "text": {
            "content": text
        },
        "msgtype":"text"
    }

    requests.post(url=url , headers= headers,json=json)

##qq邮箱
def qqemail(subject,email,text):
    #无需安装第三方库
    key='pqfjmlybbgi'      #换成你的QQ邮箱SMTP的授权码(QQ邮箱设置里)  设置-> 账号-> SMPT服务
    EMAIL_ADDRESS='885317429@qq.com'      #换成你的邮箱地址
    EMAIL_PASSWORD=key

    import smtplib
    smtp=smtplib.SMTP('smtp.qq.com',25)

    import ssl
    context=ssl.create_default_context()
    sender=EMAIL_ADDRESS               #发件邮箱
    receiver=email#"255576170@qq.com"#EMAIL_ADDRESS
                                          #收件邮箱
    from email.message import EmailMessage
    subject=subject
    body=text
    msg=EmailMessage()
    msg['subject']=subject       #邮件主题
    msg['From']=sender
    msg['To']=receiver
    msg.set_content(body)         #邮件内容

    with smtplib.SMTP_SSL("smtp.qq.com",465,context=context) as smtp:
        smtp.login(EMAIL_ADDRESS,EMAIL_PASSWORD)
        smtp.send_message(msg)

#签到
def start(cookie):
    # 创建一个session,作用会自动保存cookie
    session = requests.session()
    #点签到之后的页
    url= "https://glados.rocks/api/user/checkin"
    url2= "https://glados.rocks/api/user/status"
    referer = 'https://glados.rocks/console/checkin'
    origin = "https://glados.rocks"
    useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36"
    #请求负载 #"https://glados.rocks/api/user/checkin"的负载
    payload={
        'token': 'glados.one'  ##24年之后的负载
    }
    #referer 当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器 籍此可以获得一些信息用于处理。
    #json.dumps请求序列化
    checkin = session.post(url,headers={'cookie': cookie ,'referer': referer,'origin':origin,'user-agent':useragent,'content-type':'application/json;charset=UTF-8'},data=json.dumps(payload))
    state =  session.get(url2,headers={'cookie': cookie ,'referer': referer,'origin':origin,'user-agent':useragent})
    #print(checkin.text)
    #print(state.text)
    while(1):
        try:
            if 'message' in checkin.text:
                mess = checkin.json()['message']
                change = checkin.json()['list'][0]['change'].split('.')[0]
                balance = checkin.json()['list'][0]['balance'].split('.')[0]
                time = state.json()['data']['leftDays']
                time = time.split('.')[0]
                text = mess +',you have '+time+' days left,change:'+change+',balance:'+balance
                return text
            break
        except Exception as e:
            print(e)
            return e

if __name__ == "__main__":
    cookie = '__stripe_midACqhIsVz_hNcbmgrhQ8uQ; _ga=GA1.2.901577451078; _ga_CZFVKMNT9J=GS1.1.1709982314.56.0.1709982314.0.0.0'
    text =start(cookie)
    #print(text)
    qqemail("GLaDOS签到", "885317429@qq.com", text) #主题,邮箱,内容
    # dingding("18962210199", text) #手机号,内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值