You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
2.7 KiB

from pytz import timezone
from json import dumps
from requests import post, get
from datetime import datetime
import yaml
def send_bark(url, title, text):
if not url:
return 'bark: 未配置,无法进行消息推送.'
print('=================================================================\nBark: 开始推送消息!')
uri = url + '/' + title + '/' + text
rsp = get(uri)
return rsp.json()['message']
def checkin(cookie):
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/109.0.0.0 Safari/537.36"
payload = {
'token': 'glados.network'
}
check_in = post(
url,
headers={
'cookie': cookie,
'referer': referer,
'origin': origin,
'user-agent': useragent,
'content-type': 'application/json;charset=UTF-8'
},
data=dumps(payload)
)
state = get(
url2,
headers={
'cookie': cookie,
'referer': referer,
'origin': origin,
'user-agent': useragent
}
)
tz = timezone('Asia/Shanghai')
time_now = str(datetime.now(tz=tz))[:19]
mess = check_in.json()['message']
time = state.json()['data']['leftDays']
email = state.json()['data']['email']
days = time.split('.')[0]
msg = f'现在时间是:{time_now}\nemail: {email}\ncheckin: {check_in.status_code} | state: {state.status_code}\n{mess}\n剩余天数:{days}'
check_in.close()
state.close()
return f'{mess},剩余{days}', msg
def main():
# 获取yaml文件路径
yaml_path = 'config.yml'
# 使用open()函数读取config.yaml文件
yaml_file = open(yaml_path, "r", encoding="utf-8")
# 读取文件中的内容
file_data = yaml_file.read()
yaml_file.close()
# 加载数据流,返回字典类型数据
conf = yaml.load(file_data, Loader=yaml.FullLoader)
ck = conf['cookies']
bark_url = conf['bark_url']
for c in ck:
try:
title, text = checkin(c)
print('签到成功!')
except Exception as e:
print('程序出错!')
title = '程序出错!'
text = e
finally:
# print(title)
print(text)
# Text = Text.replace('\n', '%0D%0A%0D%0A')
if bark_url != '':
rsp = send_bark(bark_url, title, text)
print(rsp)
if __name__ == '__main__':
main()