GenshinUID/genshinuid_mhybbscoin/daily_mihoyo_bbs_coin.py
2022-08-29 23:12:44 +08:00

59 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import random
import asyncio
import sqlite3
from nonebot.log import logger
from .get_mihoyo_bbs_coin import MihoyoBBSCoin
from ..utils.db_operation.db_operation import (
select_db,
get_stoken,
config_check,
)
async def all_daily_mihoyo_bbs_coin():
conn = sqlite3.connect('ID_DATA.db')
c = conn.cursor()
cursor = c.execute(
'SELECT * FROM NewCookiesTable WHERE StatusC != ?', ('off',)
)
c_data = cursor.fetchall()
im_success = 0
im_failed = 0
im_failed_str = ''
im_private = {}
for row in c_data:
logger.info('正在执行{}'.format(row[0]))
if row[8]:
await asyncio.sleep(5 + random.randint(1, 3))
im = await mihoyo_coin(str(row[2]), str(row[8]))
try:
logger.info('已执行完毕:{}'.format(row[0]))
im_success += 1
if await config_check('MhyBBSCoinReport'):
im_private[row[2]] = im
except Exception:
logger.exception('执行失败:{}'.format(row[0]))
im_failed += 1
im_failed_str += '\n' + '执行失败:{}'.format(row[0])
faild_im = (
'\n以下为签到失败报告:{}'.format(im_failed_str) if im_failed_str != '' else ''
)
im = '今日获取mhycoin成功数量{},失败数量:{}{}'.format(im_success, im_failed, faild_im)
conn.close()
return im, im_private
async def mihoyo_coin(qid, s_cookies=None):
uid: str = await select_db(qid, mode='uid') # type: ignore
if s_cookies is None:
s_cookies = await get_stoken(uid)
if s_cookies:
get_coin = MihoyoBBSCoin(s_cookies)
im = await get_coin.task_run()
else:
im = '你还没有绑定Stoken~'
return im