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")
@daily_sign.scheduled_job('cron', hour='0', minute="30")
async def _():
await dailysign()
async def dailysign(): async def dailysign():
dailysign() (bot,) = nonebot.get_bots().values()
conn = sqlite3.connect('ID_DATA.db')
def dailysign(): c = conn.cursor()
async def sign_thread(): cursor = c.execute(
conn = sqlite3.connect('ID_DATA.db') "SELECT * FROM NewCookiesTable WHERE StatusB != ?", ("off",))
c = conn.cursor() c_data = cursor.fetchall()
cursor = c.execute( for row in c_data:
"SELECT * FROM NewCookiesTable WHERE StatusB != ?", ("off",)) im = await sign(str(row[0]))
c_data = cursor.fetchall() if row[4] == "on":
await bot.call_api(api='send_private_msg',
count = 0 user_id=row[2], message=im)
for row in c_data: else:
count += 1 await bot.call_api(
api='send_group_msg', group_id=row[4], message=f"[CQ:at,qq={row[2]}]\n{im}")
im = await sign(str(row[0])) await asyncio.sleep(7)
if row[4] == "on":
await bot.send_private_msg(user_id = row[2],message = im)
else:
await bot.send_group_msg(group_id = row[4],message = f"[CQ:at,qq={row[2]}]" + "\n" + im)
if count == 10:
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,21 +189,35 @@ 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 :
use = d_data[0][1] if d_data[0][7] != "error":
if mode == 1: use = d_data[0][1]
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \ if mode == 1:
VALUES (?, ?)",(use,uid)) c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \
elif mode == 2: VALUES (?, ?)",(use,uid))
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,MYSID) \ elif mode == 2:
VALUES (?, ?)",(use,uid)) c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,MYSID) \
VALUES (?, ?)",(use,uid))
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:
cookiesrow = c.execute("SELECT * FROM NewCookiesTable WHERE Extra IS NULL ORDER BY RANDOM() LIMIT 1") cookiesrow = c.execute("SELECT * FROM NewCookiesTable WHERE Extra IS NULL ORDER BY RANDOM() LIMIT 1")
e_data = cookiesrow.fetchall() e_data = cookiesrow.fetchall()