mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-06-01 21:19:49 +08:00
!!fix!!
This commit is contained in:
parent
ed7e5c5b79
commit
f8a7e1c34b
12
README.md
12
README.md
@ -48,6 +48,18 @@ $ pip3 install -r requirements.txt
|
|||||||
|
|
||||||
**(作者已经转用NoneBot2,Hoshino的更新可能未经测试,有bug及时提Issues!)**
|
**(作者已经转用NoneBot2,Hoshino的更新可能未经测试,有bug及时提Issues!)**
|
||||||
|
|
||||||
|
#### 2021-12-04
|
||||||
|
|
||||||
|
修复:`查询词云`功能失效的问题。
|
||||||
|
|
||||||
|
修复:`查询`功能只能查到8个角色的问题(经测试应该BanIP概率极低,需要在配置文件中加入`genshinuid_use_new_get_chars_method=1`才可生效)。
|
||||||
|
|
||||||
|
修复:`校验全部Cookies`命令错误的问题(**由于API返回字段变化的缘故,旧版本使用该命令会清空所有Ck,旧版本请不要使用该命令**),该问题同时导致`添加`命令不可用,均已修复。
|
||||||
|
|
||||||
|
优化:查询时优先从数据库中调用主人的Cookies。
|
||||||
|
|
||||||
|
优化:错误Cookies将在`NewCookiesTable`中的`Extra`标记为`error`(失效)或者`limit30`(今天达到30人限制),其中`limit30`将在每日零点清空。
|
||||||
|
|
||||||
#### 2021-11-21
|
#### 2021-11-21
|
||||||
|
|
||||||
新增:`查询词云`功能
|
新增:`查询词云`功能
|
||||||
|
@ -212,7 +212,7 @@ async def setting(ctx):
|
|||||||
mys_data = await GetMysInfo(mysid,cookie)
|
mys_data = await GetMysInfo(mysid,cookie)
|
||||||
mys_data = mys_data[0]
|
mys_data = mys_data[0]
|
||||||
for i in mys_data['data']['list']:
|
for i in mys_data['data']['list']:
|
||||||
if i['data'][0]['name'] != '活跃天数':
|
if i['game_id'] != 2:
|
||||||
mys_data['data']['list'].remove(i)
|
mys_data['data']['list'].remove(i)
|
||||||
uid = mys_data['data']['list'][0]['game_role_id']
|
uid = mys_data['data']['list'][0]['game_role_id']
|
||||||
await cookiesDB(uid,cookie,userid)
|
await cookiesDB(uid,cookie,userid)
|
||||||
|
85
getDB.py
85
getDB.py
@ -47,7 +47,9 @@ async def CheckDB():
|
|||||||
mysid_data = aid.group(0).split('=')
|
mysid_data = aid.group(0).split('=')
|
||||||
mysid = mysid_data[1]
|
mysid = mysid_data[1]
|
||||||
mys_data = await GetMysInfo(mysid,row[1])
|
mys_data = await GetMysInfo(mysid,row[1])
|
||||||
mys_data = mys_data[0]
|
for i in mys_data['data']['list']:
|
||||||
|
if i['game_id'] != 2:
|
||||||
|
mys_data['data']['list'].remove(i)
|
||||||
uid = mys_data['data']['list'][0]['game_role_id']
|
uid = mys_data['data']['list'][0]['game_role_id']
|
||||||
str = str + f"uid{row[0]}/mysid{mysid}的Cookies是正常的!\n"
|
str = str + f"uid{row[0]}/mysid{mysid}的Cookies是正常的!\n"
|
||||||
except:
|
except:
|
||||||
@ -141,11 +143,24 @@ async def selectDB(userid,mode = "auto"):
|
|||||||
return [row[2],3]
|
return [row[2],3]
|
||||||
|
|
||||||
def deletecache():
|
def deletecache():
|
||||||
|
try:
|
||||||
|
conn = sqlite3.connect('ID_DATA.db')
|
||||||
|
c = conn.cursor()
|
||||||
|
c.execute("DROP TABLE CookiesCache")
|
||||||
|
c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Extra=?",(None,"limit30"))
|
||||||
|
copyfile("ID_DATA.db", "ID_DATA_bak.db")
|
||||||
|
conn.commit()
|
||||||
|
conn.close()
|
||||||
|
except:
|
||||||
|
print("\nerror\n")
|
||||||
|
|
||||||
|
def errorDB(ck,err):
|
||||||
conn = sqlite3.connect('ID_DATA.db')
|
conn = sqlite3.connect('ID_DATA.db')
|
||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
c.execute("DROP TABLE CookiesCache")
|
if err == "error":
|
||||||
conn.commit()
|
c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Cookies=?",("error",ck))
|
||||||
conn.close()
|
elif err == "limit30":
|
||||||
|
c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Cookies=?",("limit30",ck))
|
||||||
|
|
||||||
def cacheDB(uid,mode = 1,mys = None):
|
def cacheDB(uid,mode = 1,mys = None):
|
||||||
use = ''
|
use = ''
|
||||||
@ -168,15 +183,36 @@ def cacheDB(uid,mode = 1,mys = None):
|
|||||||
c_data = cursor.fetchall()
|
c_data = cursor.fetchall()
|
||||||
|
|
||||||
if len(c_data)==0:
|
if len(c_data)==0:
|
||||||
cookiesrow = c.execute("SELECT * FROM NewCookiesTable ORDER BY RANDOM() limit 1")
|
if mode == 2:
|
||||||
for row2 in cookiesrow:
|
conn.create_function("REGEXP", 2, functionRegex)
|
||||||
|
cursor = c.execute("SELECT * FROM NewCookiesTable WHERE REGEXP(Cookies, ?) AND Extra != ?",(uid,"error"))
|
||||||
|
d_data = cursor.fetchall()
|
||||||
|
|
||||||
|
elif mode == 1:
|
||||||
|
cursor = c.execute("SELECT * FROM NewCookiesTable WHERE UID = ? AND Extra != ?",(uid,"error"))
|
||||||
|
d_data = cursor.fetchall()
|
||||||
|
|
||||||
|
if len(d_data)!=0:
|
||||||
|
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) \
|
||||||
VALUES (?, ?)",(row2[1],uid))
|
VALUES (?, ?)",(use,uid))
|
||||||
if mode == 2:
|
elif mode == 2:
|
||||||
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,MYSID) \
|
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,MYSID) \
|
||||||
VALUES (?, ?)",(row2[1],uid))
|
VALUES (?, ?)",(use,uid))
|
||||||
use = row2[1]
|
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:
|
||||||
@ -189,6 +225,10 @@ def cacheDB(uid,mode = 1,mys = None):
|
|||||||
conn.close()
|
conn.close()
|
||||||
return use
|
return use
|
||||||
|
|
||||||
|
def functionRegex(value,patter):
|
||||||
|
c_pattern = re.compile(r"account_id={}".format(patter))
|
||||||
|
return c_pattern.search(value) is not None
|
||||||
|
|
||||||
async def cookiesDB(uid,Cookies,qid):
|
async def cookiesDB(uid,Cookies,qid):
|
||||||
conn = sqlite3.connect('ID_DATA.db')
|
conn = sqlite3.connect('ID_DATA.db')
|
||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
@ -338,7 +378,6 @@ async def GetSignList():
|
|||||||
return data
|
return data
|
||||||
except:
|
except:
|
||||||
print("访问失败,请重试!")
|
print("访问失败,请重试!")
|
||||||
#sys.exit(1)
|
|
||||||
|
|
||||||
async def GetSignInfo(Uid,ServerID="cn_gf01"):
|
async def GetSignInfo(Uid,ServerID="cn_gf01"):
|
||||||
if Uid[0] == '5':
|
if Uid[0] == '5':
|
||||||
@ -357,7 +396,6 @@ async def GetSignInfo(Uid,ServerID="cn_gf01"):
|
|||||||
return data
|
return data
|
||||||
except:
|
except:
|
||||||
print("访问失败,请重试!")
|
print("访问失败,请重试!")
|
||||||
#sys.exit(1)
|
|
||||||
|
|
||||||
async def MysSign(Uid,ServerID="cn_gf01"):
|
async def MysSign(Uid,ServerID="cn_gf01"):
|
||||||
if Uid[0] == '5':
|
if Uid[0] == '5':
|
||||||
@ -382,7 +420,6 @@ async def MysSign(Uid,ServerID="cn_gf01"):
|
|||||||
return data2
|
return data2
|
||||||
except:
|
except:
|
||||||
print("访问失败,请重试!")
|
print("访问失败,请重试!")
|
||||||
#sys.exit(1)
|
|
||||||
|
|
||||||
async def GetAward(Uid,ServerID="cn_gf01"):
|
async def GetAward(Uid,ServerID="cn_gf01"):
|
||||||
if Uid[0] == '5':
|
if Uid[0] == '5':
|
||||||
@ -405,7 +442,7 @@ async def GetAward(Uid,ServerID="cn_gf01"):
|
|||||||
print("访问失败,请重试!")
|
print("访问失败,请重试!")
|
||||||
#sys.exit(1)
|
#sys.exit(1)
|
||||||
|
|
||||||
async def GetInfo(Uid,ServerID="cn_gf01",Schedule_type="1",mysid = None):
|
async def GetInfo(Uid,ck,ServerID="cn_gf01"):
|
||||||
if Uid[0] == '5':
|
if Uid[0] == '5':
|
||||||
ServerID = "cn_qd01"
|
ServerID = "cn_qd01"
|
||||||
try:
|
try:
|
||||||
@ -418,14 +455,14 @@ async def GetInfo(Uid,ServerID="cn_gf01",Schedule_type="1",mysid = None):
|
|||||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.11.1',
|
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.11.1',
|
||||||
'x-rpc-client_type': '5',
|
'x-rpc-client_type': '5',
|
||||||
'Referer': 'https://webstatic.mihoyo.com/',
|
'Referer': 'https://webstatic.mihoyo.com/',
|
||||||
"Cookie": cacheDB(Uid,1,mysid)})
|
"Cookie": ck})
|
||||||
data = json.loads(req.text)
|
data = json.loads(req.text)
|
||||||
return data
|
return data
|
||||||
except:
|
except:
|
||||||
print("访问失败,请重试!")
|
print("访问失败,请重试!")
|
||||||
#sys.exit(1)
|
#sys.exit(1)
|
||||||
|
|
||||||
async def GetSpiralAbyssInfo(Uid, ServerID="cn_gf01",Schedule_type="1",mysid = None):
|
async def GetSpiralAbyssInfo(Uid, ck,Schedule_type="1",ServerID="cn_gf01"):
|
||||||
if Uid[0] == '5':
|
if Uid[0] == '5':
|
||||||
ServerID = "cn_qd01"
|
ServerID = "cn_qd01"
|
||||||
try:
|
try:
|
||||||
@ -435,7 +472,7 @@ async def GetSpiralAbyssInfo(Uid, ServerID="cn_gf01",Schedule_type="1",mysid = N
|
|||||||
headers={
|
headers={
|
||||||
'DS': DSGet("role_id=" + Uid + "&schedule_type=" + Schedule_type + "&server="+ ServerID),
|
'DS': DSGet("role_id=" + Uid + "&schedule_type=" + Schedule_type + "&server="+ ServerID),
|
||||||
'Origin': 'https://webstatic.mihoyo.com',
|
'Origin': 'https://webstatic.mihoyo.com',
|
||||||
'Cookie': cacheDB(Uid,1,mysid),
|
'Cookie': ck,
|
||||||
'x-rpc-app_version': mhyVersion,
|
'x-rpc-app_version': mhyVersion,
|
||||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.11.1',
|
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.11.1',
|
||||||
'x-rpc-client_type': '5',
|
'x-rpc-client_type': '5',
|
||||||
@ -446,9 +483,10 @@ async def GetSpiralAbyssInfo(Uid, ServerID="cn_gf01",Schedule_type="1",mysid = N
|
|||||||
return data
|
return data
|
||||||
except:
|
except:
|
||||||
print("1访问失败,请重试!")
|
print("1访问失败,请重试!")
|
||||||
|
#sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
def GetCharacter(Uid,Character_ids, ServerID="cn_gf01",mysid = None):
|
def GetCharacter(Uid,Character_ids, ck,ServerID="cn_gf01"):
|
||||||
if Uid[0] == '5':
|
if Uid[0] == '5':
|
||||||
ServerID = "cn_qd01"
|
ServerID = "cn_qd01"
|
||||||
try:
|
try:
|
||||||
@ -457,7 +495,7 @@ def GetCharacter(Uid,Character_ids, ServerID="cn_gf01",mysid = None):
|
|||||||
headers={
|
headers={
|
||||||
'DS': DSGet('',{"character_ids": Character_ids ,"role_id": Uid ,"server": ServerID}),
|
'DS': DSGet('',{"character_ids": Character_ids ,"role_id": Uid ,"server": ServerID}),
|
||||||
'Origin': 'https://webstatic.mihoyo.com',
|
'Origin': 'https://webstatic.mihoyo.com',
|
||||||
'Cookie': cacheDB(Uid,1,mysid),
|
'Cookie': ck,
|
||||||
'x-rpc-app_version': mhyVersion,
|
'x-rpc-app_version': mhyVersion,
|
||||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.11.1',
|
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.11.1',
|
||||||
'x-rpc-client_type': '5',
|
'x-rpc-client_type': '5',
|
||||||
@ -471,11 +509,7 @@ def GetCharacter(Uid,Character_ids, ServerID="cn_gf01",mysid = None):
|
|||||||
print("访问失败,请重试!")
|
print("访问失败,请重试!")
|
||||||
#sys.exit(1)
|
#sys.exit(1)
|
||||||
|
|
||||||
async def GetMysInfo(mysid,cookies = None):
|
async def GetMysInfo(mysid,ck):
|
||||||
if cookies:
|
|
||||||
ck = cookies
|
|
||||||
else:
|
|
||||||
ck = cacheDB(mysid,2)
|
|
||||||
try:
|
try:
|
||||||
async with AsyncClient() as client:
|
async with AsyncClient() as client:
|
||||||
req = await client.get(
|
req = await client.get(
|
||||||
@ -488,7 +522,7 @@ async def GetMysInfo(mysid,cookies = None):
|
|||||||
'Referer': 'https://webstatic.mihoyo.com/',
|
'Referer': 'https://webstatic.mihoyo.com/',
|
||||||
"Cookie": ck})
|
"Cookie": ck})
|
||||||
data = json.loads(req.text)
|
data = json.loads(req.text)
|
||||||
return [data,mysid]
|
return data
|
||||||
except:
|
except:
|
||||||
im = "err"
|
im = "err"
|
||||||
return im
|
return im
|
||||||
@ -505,7 +539,6 @@ async def GetWeaponInfo(name):
|
|||||||
|
|
||||||
async def GetCharInfo(name,mode = 0):
|
async def GetCharInfo(name,mode = 0):
|
||||||
str = ""
|
str = ""
|
||||||
|
|
||||||
if mode == 1:
|
if mode == 1:
|
||||||
str = "&talents=1"
|
str = "&talents=1"
|
||||||
elif mode == 2:
|
elif mode == 2:
|
||||||
|
339
getImg.py
339
getImg.py
@ -10,7 +10,7 @@ import numpy as np
|
|||||||
|
|
||||||
from PIL import Image, ImageDraw, ImageFont, ImageFilter
|
from PIL import Image, ImageDraw, ImageFont, ImageFilter
|
||||||
|
|
||||||
from .getDB import GetInfo,GetCharacter,GetSpiralAbyssInfo,GetMysInfo
|
from .getDB import GetInfo,GetCharacter,GetSpiralAbyssInfo,GetMysInfo,errorDB
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
@ -61,67 +61,76 @@ def get_weapon_pic(url):
|
|||||||
urllib.request.urlretrieve(url, os.path.join(WEAPON_PATH, url.split('/')[-1]))
|
urllib.request.urlretrieve(url, os.path.join(WEAPON_PATH, url.split('/')[-1]))
|
||||||
|
|
||||||
async def draw_wordcloud(uid,image = None,mode = 2):
|
async def draw_wordcloud(uid,image = None,mode = 2):
|
||||||
if mode == 3:
|
while 1:
|
||||||
mys_data = await GetMysInfo(uid)
|
use_cookies = cacheDB(uid,mode-1)
|
||||||
mysid_data = mys_data[1]
|
if use_cookies == '':
|
||||||
mys_data = mys_data[0]
|
return "绑定记录不存在。"
|
||||||
for i in mys_data['data']['list']:
|
elif use_cookies == "没有可以使用的Cookies!":
|
||||||
if i['data'][0]['name'] != '活跃天数':
|
return "没有可以使用的Cookies!"
|
||||||
mys_data['data']['list'].remove(i)
|
|
||||||
uid = mys_data['data']['list'][0]['game_role_id']
|
if mode == 3:
|
||||||
nickname = mys_data['data']['list'][0]['nickname']
|
mys_data = await GetMysInfo(uid,use_cookies)
|
||||||
role_level = mys_data['data']['list'][0]['level']
|
mysid_data = uid
|
||||||
raw_data = await GetInfo(uid,"cn_gf01","1",mysid_data)
|
for i in mys_data['data']['list']:
|
||||||
raw_Abyss_data = await GetSpiralAbyssInfo(uid,"cn_gf01","1",mysid_data)
|
if i['game_id'] != 2:
|
||||||
else:
|
mys_data['data']['list'].remove(i)
|
||||||
raw_Abyss_data = await GetSpiralAbyssInfo(uid,"cn_gf01","1")
|
uid = mys_data['data']['list'][0]['game_role_id']
|
||||||
raw_data = await GetInfo(uid)
|
nickname = mys_data['data']['list'][0]['nickname']
|
||||||
|
role_level = mys_data['data']['list'][0]['level']
|
||||||
if (raw_data["retcode"] != 0):
|
raw_data = await GetInfo(uid,use_cookies)
|
||||||
if (raw_data["retcode"] == 10001):
|
raw_Abyss_data = await GetSpiralAbyssInfo(uid,use_cookies)
|
||||||
return ("Cookie错误/过期,请重置Cookie")
|
else:
|
||||||
elif (raw_data["retcode"] == 10101):
|
raw_Abyss_data = await GetSpiralAbyssInfo(uid,use_cookies)
|
||||||
return ("当前cookies已达到30人上限!")
|
raw_data = await GetInfo(uid,use_cookies)
|
||||||
elif (raw_data["retcode"] == 10102):
|
|
||||||
return ("当前查询id已经设置了隐私,无法查询!")
|
if (raw_data["retcode"] != 0):
|
||||||
return (
|
if (raw_data["retcode"] == 10001):
|
||||||
"Api报错,返回内容为:\r\n"
|
#return ("Cookie错误/过期,请重置Cookie")
|
||||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
errorDB(use_cookies,"error")
|
||||||
)
|
elif (raw_data["retcode"] == 10101):
|
||||||
else:
|
#return ("当前cookies已达到30人上限!")
|
||||||
pass
|
errorDB(use_cookies,"limit30")
|
||||||
|
elif (raw_data["retcode"] == 10102):
|
||||||
|
return ("当前查询id已经设置了隐私,无法查询!")
|
||||||
|
return (
|
||||||
|
"Api报错,返回内容为:\r\n"
|
||||||
|
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
raw_Abyss_data = raw_Abyss_data['data']
|
raw_Abyss_data = raw_Abyss_data['data']
|
||||||
raw_data = raw_data['data']
|
raw_data = raw_data['data']
|
||||||
|
|
||||||
char_data = raw_data["avatars"]
|
char_data = raw_data["avatars"]
|
||||||
char_num = len(raw_data["avatars"])
|
char_num = len(raw_data["avatars"])
|
||||||
if mode == 2:
|
|
||||||
char_ids = []
|
|
||||||
char_rawdata = []
|
|
||||||
|
|
||||||
for i in char_data:
|
|
||||||
char_ids.append(i["id"])
|
|
||||||
|
|
||||||
char_rawdata = await GetCharacter(uid,char_ids)
|
char_datas = []
|
||||||
char_datas = char_rawdata["data"]["avatars"]
|
def get_charid(start,end):
|
||||||
|
for i in range(start,end):
|
||||||
|
char_rawdata = GetCharacter(uid,[i],use_cookies)
|
||||||
|
|
||||||
weapons_datas = []
|
if char_rawdata["retcode"] == -1:
|
||||||
for i in char_datas:
|
pass
|
||||||
weapons_datas.append(i['weapon'])
|
else:
|
||||||
elif mode == 3:
|
char_datas.append(char_rawdata["data"]['avatars'][0])
|
||||||
char_ids = []
|
|
||||||
char_rawdata = []
|
|
||||||
|
|
||||||
for i in char_data:
|
|
||||||
char_ids.append(i["id"])
|
|
||||||
|
|
||||||
char_rawdata = await GetCharacter(uid,char_ids,"cn_gf01",mysid_data)
|
thread_list = []
|
||||||
char_datas = char_rawdata["data"]["avatars"]
|
st = 8
|
||||||
|
for i in range(0,8):
|
||||||
|
thread = threading.Thread(target = get_charid,args = (10000002+i*st,10000002+(i+1)*st))
|
||||||
|
thread_list.append(thread)
|
||||||
|
|
||||||
weapons_datas = []
|
for t in thread_list:
|
||||||
for i in char_datas:
|
t.setDaemon(True)
|
||||||
weapons_datas.append(i['weapon'])
|
t.start()
|
||||||
|
|
||||||
|
for t in thread_list:
|
||||||
|
t.join()
|
||||||
|
|
||||||
|
weapons_datas = []
|
||||||
|
for i in char_datas:
|
||||||
|
weapons_datas.append(i['weapon'])
|
||||||
|
|
||||||
l1_size = 2
|
l1_size = 2
|
||||||
l2_size = 4
|
l2_size = 4
|
||||||
@ -149,7 +158,7 @@ async def draw_wordcloud(uid,image = None,mode = 2):
|
|||||||
star5num = 0
|
star5num = 0
|
||||||
star5numcon = 0
|
star5numcon = 0
|
||||||
|
|
||||||
for i in raw_data['avatars']:
|
for i in char_datas:
|
||||||
if i["name"] in ['雷电将军','温迪','钟离','枫原万叶']:
|
if i["name"] in ['雷电将军','温迪','钟离','枫原万叶']:
|
||||||
g3d1 += 1
|
g3d1 += 1
|
||||||
if i["name"] in ['甘雨','魈','胡桃']:
|
if i["name"] in ['甘雨','魈','胡桃']:
|
||||||
@ -232,10 +241,13 @@ async def draw_wordcloud(uid,image = None,mode = 2):
|
|||||||
if raw_data['homes'][0]['comfort_num'] >= 25000:
|
if raw_data['homes'][0]['comfort_num'] >= 25000:
|
||||||
word_str["团雀附体"] = l2_size
|
word_str["团雀附体"] = l2_size
|
||||||
|
|
||||||
if raw_Abyss_data['total_battle_times'] <= 12 and raw_Abyss_data['max_floor'] == '12-3':
|
if raw_Abyss_data["reveal_rank"] != []:
|
||||||
word_str["PVP资格证"] = l4_size
|
if raw_Abyss_data['total_battle_times'] <= 12 and raw_Abyss_data['max_floor'] == '12-3':
|
||||||
if raw_Abyss_data["damage_rank"][0]["value"] >= 150000:
|
word_str["PVP资格证"] = l4_size
|
||||||
word_str["这一击,贯穿星辰"] = l4_size
|
if raw_Abyss_data["damage_rank"][0]["value"] >= 150000:
|
||||||
|
word_str["这一击,贯穿星辰"] = l4_size
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
bg_list = random.choice([x for x in os.listdir(BG_PATH)
|
bg_list = random.choice([x for x in os.listdir(BG_PATH)
|
||||||
if os.path.isfile(os.path.join(BG_PATH, x))])
|
if os.path.isfile(os.path.join(BG_PATH, x))])
|
||||||
@ -325,36 +337,42 @@ def multi_color_func(word=None, font_size=None,
|
|||||||
return "hsl({}, {}%, {}%)".format(colors[rand][0], colors[rand][1], colors[rand][2])
|
return "hsl({}, {}%, {}%)".format(colors[rand][0], colors[rand][1], colors[rand][2])
|
||||||
|
|
||||||
async def draw_abyss0_pic(uid,nickname,image = None,mode = 2,date = "1"):
|
async def draw_abyss0_pic(uid,nickname,image = None,mode = 2,date = "1"):
|
||||||
if mode == 3:
|
while 1:
|
||||||
mys_data = await GetMysInfo(uid)
|
use_cookies = cacheDB(uid,mode-1)
|
||||||
mysid_data = mys_data[1]
|
if use_cookies == '':
|
||||||
mys_data = mys_data[0]
|
return "绑定记录不存在。"
|
||||||
for i in mys_data['data']['list']:
|
elif use_cookies == "没有可以使用的Cookies!":
|
||||||
if i['data'][0]['name'] != '活跃天数':
|
return "没有可以使用的Cookies!"
|
||||||
mys_data['data']['list'].remove(i)
|
|
||||||
uid = mys_data['data']['list'][0]['game_role_id']
|
|
||||||
nickname = mys_data['data']['list'][0]['nickname']
|
|
||||||
#role_region = mys_data['data']['list'][0]['region']
|
|
||||||
role_level = mys_data['data']['list'][0]['level']
|
|
||||||
raw_data = await GetSpiralAbyssInfo(uid,"cn_gf01",date,mysid_data)
|
|
||||||
raw_char_data = await GetInfo(uid,"cn_gf01",date,mysid_data)
|
|
||||||
else:
|
|
||||||
raw_data = await GetSpiralAbyssInfo(uid,"cn_gf01",date)
|
|
||||||
raw_char_data = await GetInfo(uid,"cn_gf01",date)
|
|
||||||
|
|
||||||
if (raw_data["retcode"] != 0):
|
if mode == 3:
|
||||||
if (raw_data["retcode"] == 10001):
|
mys_data = await GetMysInfo(uid,use_cookies)
|
||||||
return ("Cookie错误/过期,请重置Cookie")
|
mysid_data = uid
|
||||||
elif (raw_data["retcode"] == 10101):
|
for i in mys_data['data']['list']:
|
||||||
return ("当前cookies已达到30人上限!")
|
if i['game_id'] != 2:
|
||||||
elif (raw_data["retcode"] == 10102):
|
mys_data['data']['list'].remove(i)
|
||||||
return ("当前查询id已经设置了隐私,无法查询!")
|
uid = mys_data['data']['list'][0]['game_role_id']
|
||||||
return (
|
nickname = mys_data['data']['list'][0]['nickname']
|
||||||
"Api报错,返回内容为:\r\n"
|
#role_region = mys_data['data']['list'][0]['region']
|
||||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
role_level = mys_data['data']['list'][0]['level']
|
||||||
)
|
|
||||||
else:
|
raw_data = await GetSpiralAbyssInfo(uid,use_cookies,date)
|
||||||
pass
|
raw_char_data = await GetInfo(uid,use_cookies)
|
||||||
|
|
||||||
|
if (raw_data["retcode"] != 0):
|
||||||
|
if (raw_data["retcode"] == 10001):
|
||||||
|
#return ("Cookie错误/过期,请重置Cookie")
|
||||||
|
errorDB(use_cookies,"error")
|
||||||
|
elif (raw_data["retcode"] == 10101):
|
||||||
|
#return ("当前cookies已达到30人上限!")
|
||||||
|
errorDB(use_cookies,"limit30")
|
||||||
|
elif (raw_data["retcode"] == 10102):
|
||||||
|
return ("当前查询id已经设置了隐私,无法查询!")
|
||||||
|
return (
|
||||||
|
"Api报错,返回内容为:\r\n"
|
||||||
|
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
raw_data = raw_data["data"]
|
raw_data = raw_data["data"]
|
||||||
raw_char_data = raw_char_data['data']["avatars"]
|
raw_char_data = raw_char_data['data']["avatars"]
|
||||||
@ -609,36 +627,42 @@ async def draw_abyss0_pic(uid,nickname,image = None,mode = 2,date = "1"):
|
|||||||
return resultmes
|
return resultmes
|
||||||
|
|
||||||
async def draw_abyss_pic(uid,nickname,floor_num,image = None,mode = 2,date = "1"):
|
async def draw_abyss_pic(uid,nickname,floor_num,image = None,mode = 2,date = "1"):
|
||||||
if mode == 3:
|
while 1:
|
||||||
mys_data = await GetMysInfo(uid)
|
use_cookies = cacheDB(uid,mode-1)
|
||||||
mysid_data = mys_data[1]
|
if use_cookies == '':
|
||||||
mys_data = mys_data[0]
|
return "绑定记录不存在。"
|
||||||
for i in mys_data['data']['list']:
|
elif use_cookies == "没有可以使用的Cookies!":
|
||||||
if i['data'][0]['name'] != '活跃天数':
|
return "没有可以使用的Cookies!"
|
||||||
mys_data['data']['list'].remove(i)
|
|
||||||
uid = mys_data['data']['list'][0]['game_role_id']
|
|
||||||
nickname = mys_data['data']['list'][0]['nickname']
|
|
||||||
#role_region = mys_data['data']['list'][0]['region']
|
|
||||||
role_level = mys_data['data']['list'][0]['level']
|
|
||||||
raw_data = await GetSpiralAbyssInfo(uid,"cn_gf01",date,mysid_data)
|
|
||||||
raw_char_data = await GetInfo(uid,"cn_gf01",date,mysid_data)
|
|
||||||
else:
|
|
||||||
raw_data = await GetSpiralAbyssInfo(uid,"cn_gf01",date)
|
|
||||||
raw_char_data = await GetInfo(uid,"cn_gf01",date)
|
|
||||||
|
|
||||||
if (raw_data["retcode"] != 0):
|
if mode == 3:
|
||||||
if (raw_data["retcode"] == 10001):
|
mys_data = await GetMysInfo(uid,use_cookies)
|
||||||
return ("Cookie错误/过期,请重置Cookie")
|
mysid_data = uid
|
||||||
elif (raw_data["retcode"] == 10101):
|
for i in mys_data['data']['list']:
|
||||||
return ("当前cookies已达到30人上限!")
|
if i['game_id'] != 2:
|
||||||
elif (raw_data["retcode"] == 10102):
|
mys_data['data']['list'].remove(i)
|
||||||
return ("当前查询id已经设置了隐私,无法查询!")
|
uid = mys_data['data']['list'][0]['game_role_id']
|
||||||
return (
|
nickname = mys_data['data']['list'][0]['nickname']
|
||||||
"Api报错,返回内容为:\r\n"
|
#role_region = mys_data['data']['list'][0]['region']
|
||||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
role_level = mys_data['data']['list'][0]['level']
|
||||||
)
|
|
||||||
else:
|
raw_data = await GetSpiralAbyssInfo(uid,use_cookies,date)
|
||||||
pass
|
raw_char_data = await GetInfo(uid,use_cookies)
|
||||||
|
|
||||||
|
if (raw_data["retcode"] != 0):
|
||||||
|
if (raw_data["retcode"] == 10001):
|
||||||
|
#return ("Cookie错误/过期,请重置Cookie")
|
||||||
|
errorDB(use_cookies,"error")
|
||||||
|
elif (raw_data["retcode"] == 10101):
|
||||||
|
#return ("当前cookies已达到30人上限!")
|
||||||
|
errorDB(use_cookies,"limit30")
|
||||||
|
elif (raw_data["retcode"] == 10102):
|
||||||
|
return ("当前查询id已经设置了隐私,无法查询!")
|
||||||
|
return (
|
||||||
|
"Api报错,返回内容为:\r\n"
|
||||||
|
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
is_edit = False
|
is_edit = False
|
||||||
@ -800,33 +824,40 @@ async def draw_abyss_pic(uid,nickname,floor_num,image = None,mode = 2,date = "1"
|
|||||||
return resultmes
|
return resultmes
|
||||||
|
|
||||||
async def draw_pic(uid,nickname,image = None,mode = 2,role_level = None):
|
async def draw_pic(uid,nickname,image = None,mode = 2,role_level = None):
|
||||||
if mode == 3:
|
while 1:
|
||||||
mys_data = await GetMysInfo(uid)
|
use_cookies = cacheDB(uid,mode-1)
|
||||||
mysid_data = mys_data[1]
|
if use_cookies == '':
|
||||||
mys_data = mys_data[0]
|
return "绑定记录不存在。"
|
||||||
for i in mys_data['data']['list']:
|
elif use_cookies == "没有可以使用的Cookies!":
|
||||||
if i['data'][0]['name'] != '活跃天数':
|
return "没有可以使用的Cookies!"
|
||||||
mys_data['data']['list'].remove(i)
|
|
||||||
uid = mys_data['data']['list'][0]['game_role_id']
|
if mode == 3:
|
||||||
nickname = mys_data['data']['list'][0]['nickname']
|
mys_data = await GetMysInfo(uid,use_cookies)
|
||||||
role_level = mys_data['data']['list'][0]['level']
|
mysid_data = uid
|
||||||
raw_data = await GetInfo(uid,"cn_gf01","1",mysid_data)
|
for i in mys_data['data']['list']:
|
||||||
else:
|
if i['game_id'] != 2:
|
||||||
raw_data = await GetInfo(uid)
|
mys_data['data']['list'].remove(i)
|
||||||
|
uid = mys_data['data']['list'][0]['game_role_id']
|
||||||
if (raw_data["retcode"] != 0):
|
nickname = mys_data['data']['list'][0]['nickname']
|
||||||
if (raw_data["retcode"] == 10001):
|
role_level = mys_data['data']['list'][0]['level']
|
||||||
return ("Cookie错误/过期,请重置Cookie")
|
|
||||||
elif (raw_data["retcode"] == 10101):
|
raw_data = await GetInfo(uid,use_cookies)
|
||||||
return ("当前cookies已达到30人上限!")
|
|
||||||
elif (raw_data["retcode"] == 10102):
|
if (raw_data["retcode"] != 0):
|
||||||
return ("当前查询id已经设置了隐私,无法查询!")
|
if (raw_data["retcode"] == 10001):
|
||||||
return (
|
#return ("Cookie错误/过期,请重置Cookie")
|
||||||
"Api报错,返回内容为:\r\n"
|
errorDB(use_cookies,"error")
|
||||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
elif (raw_data["retcode"] == 10101):
|
||||||
)
|
#return ("当前cookies已达到30人上限!")
|
||||||
else:
|
errorDB(use_cookies,"limit30")
|
||||||
pass
|
elif (raw_data["retcode"] == 10102):
|
||||||
|
return ("当前查询id已经设置了隐私,无法查询!")
|
||||||
|
return (
|
||||||
|
"Api报错,返回内容为:\r\n"
|
||||||
|
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
bg_list = random.choice([x for x in os.listdir(BG_PATH)
|
bg_list = random.choice([x for x in os.listdir(BG_PATH)
|
||||||
if os.path.isfile(os.path.join(BG_PATH, x))])
|
if os.path.isfile(os.path.join(BG_PATH, x))])
|
||||||
@ -847,23 +878,13 @@ async def draw_pic(uid,nickname,image = None,mode = 2,role_level = None):
|
|||||||
char_datas = []
|
char_datas = []
|
||||||
|
|
||||||
def get_charid(start,end):
|
def get_charid(start,end):
|
||||||
if mode == 2:
|
for i in range(start,end):
|
||||||
for i in range(start,end):
|
char_rawdata = GetCharacter(uid,[i],use_cookies)
|
||||||
char_rawdata = GetCharacter(uid,[i])
|
|
||||||
|
if char_rawdata["retcode"] == -1:
|
||||||
if char_rawdata["retcode"] == -1:
|
pass
|
||||||
pass
|
else:
|
||||||
else:
|
char_datas.append(char_rawdata["data"]['avatars'][0])
|
||||||
char_datas.append(char_rawdata["data"]['avatars'][0])
|
|
||||||
|
|
||||||
else:
|
|
||||||
for i in range(start,end):
|
|
||||||
char_rawdata = GetCharacter(uid,[i],"cn_gf01",mysid_data)
|
|
||||||
|
|
||||||
if char_rawdata["retcode"] == -1:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
char_datas.append(char_rawdata["data"]['avatars'][0])
|
|
||||||
|
|
||||||
thread_list = []
|
thread_list = []
|
||||||
st = 8
|
st = 8
|
||||||
|
Loading…
x
Reference in New Issue
Block a user