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")
@daily_sign.scheduled_job('cron', hour='0', minute="30")
async def _():
await dailysign()
async def dailysign():
dailysign()
def dailysign():
async def sign_thread():
conn = sqlite3.connect('ID_DATA.db')
c = conn.cursor()
cursor = c.execute(
"SELECT * FROM NewCookiesTable WHERE StatusB != ?", ("off",))
c_data = cursor.fetchall()
count = 0
for row in c_data:
count += 1
im = await sign(str(row[0]))
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()
(bot,) = nonebot.get_bots().values()
conn = sqlite3.connect('ID_DATA.db')
c = conn.cursor()
cursor = c.execute(
"SELECT * FROM NewCookiesTable WHERE StatusB != ?", ("off",))
c_data = cursor.fetchall()
for row in c_data:
im = await sign(str(row[0]))
if row[4] == "on":
await bot.call_api(api='send_private_msg',
user_id=row[2], message=im)
else:
await bot.call_api(
api='send_group_msg', group_id=row[4], message=f"[CQ:at,qq={row[2]}]\n{im}")
await asyncio.sleep(7)
#每隔半小时检测树脂是否超过设定值
@sv.scheduled_job('interval', minutes=30)

View File

@ -149,6 +149,10 @@ def deletecache():
c.execute("DROP TABLE CookiesCache")
c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Extra=?",(None,"limit30"))
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.close()
except:
@ -185,21 +189,35 @@ def cacheDB(uid,mode = 1,mys = None):
if len(c_data)==0:
if mode == 2:
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()
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()
if len(d_data)!=0:
use = d_data[0][1]
if mode == 1:
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \
VALUES (?, ?)",(use,uid))
elif mode == 2:
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,MYSID) \
VALUES (?, ?)",(use,uid))
if len(d_data) !=0 :
if d_data[0][7] != "error":
use = d_data[0][1]
if mode == 1:
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \
VALUES (?, ?)",(use,uid))
elif mode == 2:
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:
cookiesrow = c.execute("SELECT * FROM NewCookiesTable WHERE Extra IS NULL ORDER BY RANDOM() LIMIT 1")
e_data = cookiesrow.fetchall()