MihoyoBBSTools/main.py

100 lines
4.4 KiB
Python
Raw Normal View History

import time
2022-01-09 09:31:44 +00:00
import push
2021-05-24 08:16:52 +00:00
import login
import config
import random
2021-05-24 08:16:52 +00:00
import genshin
import setting
import mihoyobbs
import honkai3rd
2022-01-06 05:49:25 +00:00
from loghelper import log
from error import CookieError
2021-05-24 08:16:52 +00:00
2021-10-25 14:53:34 +00:00
2021-05-24 08:16:52 +00:00
def main():
2021-10-25 14:53:34 +00:00
# 初始化,加载配置
2022-04-23 01:35:26 +00:00
return_data = "\n米游社: "
2022-01-06 05:49:25 +00:00
config.load_config()
if config.config["enable"]:
2021-10-25 14:53:34 +00:00
# 检测参数是否齐全,如果缺少就进行登入操作
if config.config["account"]["login_ticket"] == "" or config.config["account"]["stuid"] == "" or config.config["account"]["stoken"] == "":
2021-12-02 02:53:30 +00:00
# 登入如果没开启bbs全局没打开就无需进行登入操作
if config.config["mihoyobbs"]["enable"] :
2021-12-02 02:53:30 +00:00
login.login()
2021-08-06 01:13:57 +00:00
time.sleep(random.randint(2, 8))
2021-10-25 14:53:34 +00:00
# 获取要使用的BBS列表,#判断是否开启bbs_Signin_multi
if config.config["mihoyobbs"]["checkin_multi"] :
2021-10-25 14:53:34 +00:00
# 用这里的方案可以实现当让id在第一个的时候为主社区
for i in config.config["mihoyobbs"]["checkin_multi_list"] :
2021-06-06 05:04:18 +00:00
for i2 in setting.mihoyobbs_List:
2021-06-06 13:19:28 +00:00
if i == int(i2["id"]):
2021-06-06 05:04:18 +00:00
setting.mihoyobbs_List_Use.append(i2)
2021-05-26 10:11:27 +00:00
else:
2021-10-25 14:53:34 +00:00
# 关闭bbs_Signin_multi后只签到大别墅
2021-05-26 10:11:27 +00:00
for i in setting.mihoyobbs_List:
2021-06-06 13:19:28 +00:00
if int(i["id"]) == 5:
2021-05-26 10:11:27 +00:00
setting.mihoyobbs_List_Use.append(i)
2021-10-25 14:53:34 +00:00
# 米游社签到
if config.config["mihoyobbs"]["enable"] :
2022-04-23 01:35:26 +00:00
bbs = mihoyobbs.Mihoyobbs()
2021-10-25 14:53:34 +00:00
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"]:
2022-04-23 01:35:26 +00:00
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}个米游币")
2021-10-25 14:53:34 +00:00
else:
2022-04-23 01:35:26 +00:00
i = 0
while mihoyobbs.today_get_coins != 0 and i < 3:
if i > 0:
bbs.refresh_list()
if config.config["mihoyobbs"]["checkin"] :
2022-04-23 01:35:26 +00:00
bbs.signing()
if config.config["mihoyobbs"]["read_post"] :
2022-04-23 01:35:26 +00:00
bbs.read_posts()
if config.config["mihoyobbs"]["like_post"] :
2022-04-23 01:35:26 +00:00
bbs.like_posts()
if config.config["mihoyobbs"]["share_post"] :
2022-04-23 01:35:26 +00:00
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}个米游币")
2021-08-06 01:13:57 +00:00
time.sleep(random.randint(2, 8))
2021-06-01 11:16:01 +00:00
else:
2022-01-30 03:58:31 +00:00
return_data += "\n" + "米游社功能未启用!"
2022-01-06 05:49:25 +00:00
log.info("米游社功能未启用!")
2021-10-25 14:53:34 +00:00
# 原神签到
if config.config["games"]["cn"]["genshin"]:
2022-01-06 05:49:25 +00:00
log.info("正在进行原神签到")
genshin_help = genshin.Genshin()
2022-01-30 08:12:12 +00:00
return_data += "\n\n" + genshin_help.sign_account()
2021-08-06 01:13:57 +00:00
time.sleep(random.randint(2, 8))
2021-06-01 11:16:01 +00:00
else:
2022-01-06 05:49:25 +00:00
log.info("原神签到功能未启用!")
2021-10-25 14:53:34 +00:00
# 崩坏3签到
if config.config["games"]["cn"]["honkai3rd"]:
2022-01-06 05:49:25 +00:00
log.info("正在进行崩坏3签到")
2022-01-30 03:58:31 +00:00
honkai3rd_help = honkai3rd.Honkai3rd()
2022-01-30 08:12:12 +00:00
return_data += "\n\n" + honkai3rd_help.sign_account()
else:
2022-01-06 05:49:25 +00:00
log.info("崩坏3签到功能未启用")
2022-01-30 03:58:31 +00:00
return 0, return_data
elif config.config["account"]["cookie"] == "CookieError":
2022-04-25 08:07:37 +00:00
raise CookieError('Cookie expires')
2021-05-24 08:16:52 +00:00
else:
2022-01-06 05:49:25 +00:00
log.warning("Config未启用")
2022-01-30 03:58:31 +00:00
return 1, "Config未启用"
2021-10-25 14:53:34 +00:00
2021-05-24 08:16:52 +00:00
if __name__ == "__main__":
2022-01-06 03:27:24 +00:00
try:
2022-01-30 03:58:31 +00:00
status_code, message = main()
2022-01-06 05:49:25 +00:00
except CookieError:
2022-03-10 08:17:05 +00:00
status_code = 1
message = "账号Cookie出错"
2022-01-06 05:49:25 +00:00
log.error("账号Cookie有问题")
2022-01-30 03:58:31 +00:00
push.push(status_code, message)
2021-10-25 14:53:34 +00:00
pass