mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-30 04:00:31 +08:00
59 lines
1.8 KiB
Python
59 lines
1.8 KiB
Python
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
|