125 lines
5.7 KiB
Python
125 lines
5.7 KiB
Python
import os
|
||
import time
|
||
import push
|
||
import login
|
||
import config
|
||
import random
|
||
import honkai2
|
||
import genshin
|
||
import setting
|
||
import mihoyobbs
|
||
import honkai3rd
|
||
import tearsofthemis
|
||
import cloud_genshin
|
||
from error import *
|
||
from loghelper import log
|
||
|
||
|
||
def main():
|
||
# 初始化,加载配置
|
||
return_data = "\n米游社: "
|
||
config.load_config()
|
||
if config.config["enable"]:
|
||
# 检测参数是否齐全,如果缺少就进行登入操作
|
||
if config.config["account"]["login_ticket"] == "" or config.config["account"]["stuid"] == "" or \
|
||
config.config["account"]["stoken"] == "":
|
||
# 登入,如果没开启bbs全局没打开就无需进行登入操作
|
||
if config.config["mihoyobbs"]["enable"]:
|
||
login.login()
|
||
time.sleep(random.randint(2, 8))
|
||
# 获取要使用的BBS列表,#判断是否开启bbs_Signin_multi
|
||
if config.config["mihoyobbs"]["checkin_multi"]:
|
||
# 用这里的方案可以实现当让id在第一个的时候为主社区
|
||
for i in config.config["mihoyobbs"]["checkin_multi_list"]:
|
||
for i2 in setting.mihoyobbs_List:
|
||
if i == int(i2["id"]):
|
||
setting.mihoyobbs_List_Use.append(i2)
|
||
else:
|
||
# 关闭bbs_Signin_multi后只签到大别墅
|
||
for i in setting.mihoyobbs_List:
|
||
if int(i["id"]) == 5:
|
||
setting.mihoyobbs_List_Use.append(i)
|
||
# 米游社签到
|
||
ret_code = 0
|
||
if config.config["mihoyobbs"]["enable"]:
|
||
bbs = mihoyobbs.Mihoyobbs()
|
||
if bbs.Task_do["bbs_Sign"] and bbs.Task_do["bbs_Read_posts"] and bbs.Task_do["bbs_Like_posts"] and \
|
||
bbs.Task_do["bbs_Share"]:
|
||
return_data += "\n" + f"今天已经全部完成了!\n" \
|
||
f"一共获得{mihoyobbs.today_have_get_coins}个米游币\n目前有{mihoyobbs.Have_coins}个米游币"
|
||
log.info(f"今天已经全部完成了!一共获得{mihoyobbs.today_have_get_coins}个米游币,目前有{mihoyobbs.Have_coins}个米游币")
|
||
else:
|
||
i = 0
|
||
while mihoyobbs.today_get_coins != 0 and i < 3:
|
||
if i > 0:
|
||
bbs.refresh_list()
|
||
if config.config["mihoyobbs"]["checkin"]:
|
||
bbs.signing()
|
||
if config.config["mihoyobbs"]["read_posts"]:
|
||
bbs.read_posts()
|
||
if config.config["mihoyobbs"]["like_posts"]:
|
||
bbs.like_posts()
|
||
if config.config["mihoyobbs"]["share_post"]:
|
||
bbs.share_post()
|
||
bbs.get_tasks_list()
|
||
i += 1
|
||
return_data += "\n" + f"今天已经获得{mihoyobbs.today_have_get_coins}个米游币\n" \
|
||
f"还能获得{mihoyobbs.today_get_coins}个米游币\n目前有{mihoyobbs.Have_coins}个米游币"
|
||
log.info(f"今天已经获得{mihoyobbs.today_have_get_coins}个米游币,"
|
||
f"还能获得{mihoyobbs.today_get_coins}个米游币,目前有{mihoyobbs.Have_coins}个米游币")
|
||
time.sleep(random.randint(2, 8))
|
||
else:
|
||
return_data += "\n" + "米游社功能未启用!"
|
||
log.info("米游社功能未启用!")
|
||
# 崩坏2签到 config这里少了个n,下回config v6的时候再修复吧
|
||
if config.config["games"]["cn"]["hokai2"]["auto_checkin"]:
|
||
log.info("正在进行崩坏2签到")
|
||
honkai2_help = honkai2.Honkai2()
|
||
return_data += "\n\n" + honkai2_help.sign_account()
|
||
time.sleep(random.randint(2, 8))
|
||
# 崩坏3签到
|
||
if config.config["games"]["cn"]["honkai3rd"]["auto_checkin"]:
|
||
log.info("正在进行崩坏3签到")
|
||
honkai3rd_help = honkai3rd.Honkai3rd()
|
||
return_data += "\n\n" + honkai3rd_help.sign_account()
|
||
# 未定事件簿签到
|
||
if config.config["games"]["cn"]["tears_of_themis"]["auto_checkin"]:
|
||
log.info("正在进行未定事件簿签到")
|
||
tearsofthemis_help = tearsofthemis.Tears_of_themis()
|
||
return_data += "\n\n" + tearsofthemis_help.sign_account()
|
||
# 原神签到
|
||
if config.config["games"]["cn"]["genshin"]["auto_checkin"]:
|
||
log.info("正在进行原神签到")
|
||
genshin_help = genshin.Genshin()
|
||
genshin_message = genshin_help.sign_account()
|
||
if "触发验证码" in genshin_message:
|
||
ret_code = 3
|
||
return_data += "\n\n" + genshin_message
|
||
time.sleep(random.randint(2, 8))
|
||
if config.config['cloud_genshin']['enable']:
|
||
log.info("正在进行云原神签到")
|
||
if config.config['cloud_genshin']['token'] == "":
|
||
log.info("token为空,跳过任务")
|
||
else:
|
||
cloud_ys = cloud_genshin.cloud_ys(config.config['cloud_genshin']['token'])
|
||
data = cloud_ys.Sgin()
|
||
return_data += "\n\n云原神:\n"+data
|
||
return ret_code, return_data
|
||
elif config.config["account"]["cookie"] == "CookieError":
|
||
raise CookieError('Cookie expires')
|
||
else:
|
||
log.warning("Config未启用!")
|
||
return 1, "Config未启用!"
|
||
|
||
|
||
if __name__ == "__main__":
|
||
if not os.path.exists(config.config_Path):
|
||
config.update_config()
|
||
try:
|
||
status_code, message = main()
|
||
except CookieError:
|
||
status_code = 1
|
||
message = "账号Cookie出错!"
|
||
log.error("账号Cookie有问题!")
|
||
push.push(status_code, message)
|
||
pass |