This commit is contained in:
Wuyi无疑 2021-12-10 00:47:51 +08:00
parent 644c825e2f
commit 0462f28d76
2 changed files with 49 additions and 38 deletions

View File

@ -153,34 +153,27 @@ async def _(bot:HoshinoBot, ev: CQEvent):
#每日零点半进行米游社签到 #每日零点半进行米游社签到
@sv.scheduled_job('cron', hour='0',minute="30") @sv.scheduled_job('cron', hour='0',minute="30")
async def dailysign(): @daily_sign.scheduled_job('cron', hour='0', minute="30")
dailysign() async def _():
await dailysign()
def dailysign():
async def sign_thread(): async def dailysign():
(bot,) = nonebot.get_bots().values()
conn = sqlite3.connect('ID_DATA.db') conn = sqlite3.connect('ID_DATA.db')
c = conn.cursor() c = conn.cursor()
cursor = c.execute( cursor = c.execute(
"SELECT * FROM NewCookiesTable WHERE StatusB != ?", ("off",)) "SELECT * FROM NewCookiesTable WHERE StatusB != ?", ("off",))
c_data = cursor.fetchall() c_data = cursor.fetchall()
count = 0
for row in c_data: for row in c_data:
count += 1
im = await sign(str(row[0])) im = await sign(str(row[0]))
if row[4] == "on": if row[4] == "on":
await bot.send_private_msg(user_id = row[2],message = im) await bot.call_api(api='send_private_msg',
user_id=row[2], message=im)
else: else:
await bot.send_group_msg(group_id = row[4],message = f"[CQ:at,qq={row[2]}]" + "\n" + im) await bot.call_api(
api='send_group_msg', group_id=row[4], message=f"[CQ:at,qq={row[2]}]\n{im}")
if count == 10: await asyncio.sleep(7)
count = 0
time.sleep(30)
t = threading.Thread(target=lambda: asyncio.run(sign_thread()))
t.setDaemon(True)
t.start()
#每隔半小时检测树脂是否超过设定值 #每隔半小时检测树脂是否超过设定值
@sv.scheduled_job('interval', minutes=30) @sv.scheduled_job('interval', minutes=30)

View File

@ -149,6 +149,10 @@ def deletecache():
c.execute("DROP TABLE CookiesCache") c.execute("DROP TABLE CookiesCache")
c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Extra=?",(None,"limit30")) c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Extra=?",(None,"limit30"))
copyfile("ID_DATA.db", "ID_DATA_bak.db") copyfile("ID_DATA.db", "ID_DATA_bak.db")
c.execute('''CREATE TABLE IF NOT EXISTS CookiesCache
(UID TEXT PRIMARY KEY,
MYSID TEXT,
Cookies TEXT);''')
conn.commit() conn.commit()
conn.close() conn.close()
except: except:
@ -185,14 +189,15 @@ def cacheDB(uid,mode = 1,mys = None):
if len(c_data)==0: if len(c_data)==0:
if mode == 2: if mode == 2:
conn.create_function("REGEXP", 2, functionRegex) conn.create_function("REGEXP", 2, functionRegex)
cursor = c.execute("SELECT * FROM NewCookiesTable WHERE REGEXP(Cookies, ?) AND Extra != ?",(uid,"error")) cursor = c.execute("SELECT * FROM NewCookiesTable WHERE REGEXP(Cookies, ?)",(uid,))
d_data = cursor.fetchall() d_data = cursor.fetchall()
elif mode == 1: elif mode == 1:
cursor = c.execute("SELECT * FROM NewCookiesTable WHERE UID = ? AND Extra != ?",(uid,"error")) cursor = c.execute("SELECT * FROM NewCookiesTable WHERE UID = ?",(uid,))
d_data = cursor.fetchall() d_data = cursor.fetchall()
if len(d_data)!=0: if len(d_data) !=0 :
if d_data[0][7] != "error":
use = d_data[0][1] use = d_data[0][1]
if mode == 1: if mode == 1:
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \ c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \
@ -213,6 +218,19 @@ def cacheDB(uid,mode = 1,mys = None):
use = e_data[0][1] use = e_data[0][1]
else: else:
return "没有可以使用的Cookies" return "没有可以使用的Cookies"
else:
cookiesrow = c.execute("SELECT * FROM NewCookiesTable WHERE Extra IS NULL ORDER BY RANDOM() LIMIT 1")
e_data = cookiesrow.fetchall()
if len(e_data) != 0:
if mode == 1:
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \
VALUES (?, ?)",(e_data[0][1],uid))
elif mode == 2:
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,MYSID) \
VALUES (?, ?)",(e_data[0][1],uid))
use = e_data[0][1]
else:
return "没有可以使用的Cookies"
else: else:
use = c_data[0][2] use = c_data[0][2]
if mys: if mys: