mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-31 12:40:38 +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!)**
|
||||
|
||||
#### 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
|
||||
|
||||
新增:`查询词云`功能
|
||||
|
@ -212,7 +212,7 @@ async def setting(ctx):
|
||||
mys_data = await GetMysInfo(mysid,cookie)
|
||||
mys_data = mys_data[0]
|
||||
for i in mys_data['data']['list']:
|
||||
if i['data'][0]['name'] != '活跃天数':
|
||||
if i['game_id'] != 2:
|
||||
mys_data['data']['list'].remove(i)
|
||||
uid = mys_data['data']['list'][0]['game_role_id']
|
||||
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 = mysid_data[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']
|
||||
str = str + f"uid{row[0]}/mysid{mysid}的Cookies是正常的!\n"
|
||||
except:
|
||||
@ -141,11 +143,24 @@ async def selectDB(userid,mode = "auto"):
|
||||
return [row[2],3]
|
||||
|
||||
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')
|
||||
c = conn.cursor()
|
||||
c.execute("DROP TABLE CookiesCache")
|
||||
conn.commit()
|
||||
conn.close()
|
||||
if err == "error":
|
||||
c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Cookies=?",("error",ck))
|
||||
elif err == "limit30":
|
||||
c.execute("UPDATE NewCookiesTable SET Extra = ? WHERE Cookies=?",("limit30",ck))
|
||||
|
||||
def cacheDB(uid,mode = 1,mys = None):
|
||||
use = ''
|
||||
@ -168,15 +183,36 @@ def cacheDB(uid,mode = 1,mys = None):
|
||||
c_data = cursor.fetchall()
|
||||
|
||||
if len(c_data)==0:
|
||||
cookiesrow = c.execute("SELECT * FROM NewCookiesTable ORDER BY RANDOM() limit 1")
|
||||
for row2 in cookiesrow:
|
||||
if mode == 2:
|
||||
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:
|
||||
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,UID) \
|
||||
VALUES (?, ?)",(row2[1],uid))
|
||||
if mode == 2:
|
||||
VALUES (?, ?)",(use,uid))
|
||||
elif mode == 2:
|
||||
c.execute("INSERT OR IGNORE INTO CookiesCache (Cookies,MYSID) \
|
||||
VALUES (?, ?)",(row2[1],uid))
|
||||
use = row2[1]
|
||||
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:
|
||||
use = c_data[0][2]
|
||||
if mys:
|
||||
@ -189,6 +225,10 @@ def cacheDB(uid,mode = 1,mys = None):
|
||||
conn.close()
|
||||
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):
|
||||
conn = sqlite3.connect('ID_DATA.db')
|
||||
c = conn.cursor()
|
||||
@ -338,7 +378,6 @@ async def GetSignList():
|
||||
return data
|
||||
except:
|
||||
print("访问失败,请重试!")
|
||||
#sys.exit(1)
|
||||
|
||||
async def GetSignInfo(Uid,ServerID="cn_gf01"):
|
||||
if Uid[0] == '5':
|
||||
@ -357,7 +396,6 @@ async def GetSignInfo(Uid,ServerID="cn_gf01"):
|
||||
return data
|
||||
except:
|
||||
print("访问失败,请重试!")
|
||||
#sys.exit(1)
|
||||
|
||||
async def MysSign(Uid,ServerID="cn_gf01"):
|
||||
if Uid[0] == '5':
|
||||
@ -382,7 +420,6 @@ async def MysSign(Uid,ServerID="cn_gf01"):
|
||||
return data2
|
||||
except:
|
||||
print("访问失败,请重试!")
|
||||
#sys.exit(1)
|
||||
|
||||
async def GetAward(Uid,ServerID="cn_gf01"):
|
||||
if Uid[0] == '5':
|
||||
@ -405,7 +442,7 @@ async def GetAward(Uid,ServerID="cn_gf01"):
|
||||
print("访问失败,请重试!")
|
||||
#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':
|
||||
ServerID = "cn_qd01"
|
||||
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',
|
||||
'x-rpc-client_type': '5',
|
||||
'Referer': 'https://webstatic.mihoyo.com/',
|
||||
"Cookie": cacheDB(Uid,1,mysid)})
|
||||
"Cookie": ck})
|
||||
data = json.loads(req.text)
|
||||
return data
|
||||
except:
|
||||
print("访问失败,请重试!")
|
||||
#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':
|
||||
ServerID = "cn_qd01"
|
||||
try:
|
||||
@ -435,7 +472,7 @@ async def GetSpiralAbyssInfo(Uid, ServerID="cn_gf01",Schedule_type="1",mysid = N
|
||||
headers={
|
||||
'DS': DSGet("role_id=" + Uid + "&schedule_type=" + Schedule_type + "&server="+ ServerID),
|
||||
'Origin': 'https://webstatic.mihoyo.com',
|
||||
'Cookie': cacheDB(Uid,1,mysid),
|
||||
'Cookie': ck,
|
||||
'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',
|
||||
'x-rpc-client_type': '5',
|
||||
@ -446,9 +483,10 @@ async def GetSpiralAbyssInfo(Uid, ServerID="cn_gf01",Schedule_type="1",mysid = N
|
||||
return data
|
||||
except:
|
||||
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':
|
||||
ServerID = "cn_qd01"
|
||||
try:
|
||||
@ -457,7 +495,7 @@ def GetCharacter(Uid,Character_ids, ServerID="cn_gf01",mysid = None):
|
||||
headers={
|
||||
'DS': DSGet('',{"character_ids": Character_ids ,"role_id": Uid ,"server": ServerID}),
|
||||
'Origin': 'https://webstatic.mihoyo.com',
|
||||
'Cookie': cacheDB(Uid,1,mysid),
|
||||
'Cookie': ck,
|
||||
'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',
|
||||
'x-rpc-client_type': '5',
|
||||
@ -471,11 +509,7 @@ def GetCharacter(Uid,Character_ids, ServerID="cn_gf01",mysid = None):
|
||||
print("访问失败,请重试!")
|
||||
#sys.exit(1)
|
||||
|
||||
async def GetMysInfo(mysid,cookies = None):
|
||||
if cookies:
|
||||
ck = cookies
|
||||
else:
|
||||
ck = cacheDB(mysid,2)
|
||||
async def GetMysInfo(mysid,ck):
|
||||
try:
|
||||
async with AsyncClient() as client:
|
||||
req = await client.get(
|
||||
@ -488,7 +522,7 @@ async def GetMysInfo(mysid,cookies = None):
|
||||
'Referer': 'https://webstatic.mihoyo.com/',
|
||||
"Cookie": ck})
|
||||
data = json.loads(req.text)
|
||||
return [data,mysid]
|
||||
return data
|
||||
except:
|
||||
im = "err"
|
||||
return im
|
||||
@ -505,7 +539,6 @@ async def GetWeaponInfo(name):
|
||||
|
||||
async def GetCharInfo(name,mode = 0):
|
||||
str = ""
|
||||
|
||||
if mode == 1:
|
||||
str = "&talents=1"
|
||||
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 .getDB import GetInfo,GetCharacter,GetSpiralAbyssInfo,GetMysInfo
|
||||
from .getDB import GetInfo,GetCharacter,GetSpiralAbyssInfo,GetMysInfo,errorDB
|
||||
|
||||
import os
|
||||
import json
|
||||
@ -61,67 +61,76 @@ def get_weapon_pic(url):
|
||||
urllib.request.urlretrieve(url, os.path.join(WEAPON_PATH, url.split('/')[-1]))
|
||||
|
||||
async def draw_wordcloud(uid,image = None,mode = 2):
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid)
|
||||
mysid_data = mys_data[1]
|
||||
mys_data = mys_data[0]
|
||||
for i in mys_data['data']['list']:
|
||||
if i['data'][0]['name'] != '活跃天数':
|
||||
mys_data['data']['list'].remove(i)
|
||||
uid = mys_data['data']['list'][0]['game_role_id']
|
||||
nickname = mys_data['data']['list'][0]['nickname']
|
||||
role_level = mys_data['data']['list'][0]['level']
|
||||
raw_data = await GetInfo(uid,"cn_gf01","1",mysid_data)
|
||||
raw_Abyss_data = await GetSpiralAbyssInfo(uid,"cn_gf01","1",mysid_data)
|
||||
else:
|
||||
raw_Abyss_data = await GetSpiralAbyssInfo(uid,"cn_gf01","1")
|
||||
raw_data = await GetInfo(uid)
|
||||
|
||||
if (raw_data["retcode"] != 0):
|
||||
if (raw_data["retcode"] == 10001):
|
||||
return ("Cookie错误/过期,请重置Cookie")
|
||||
elif (raw_data["retcode"] == 10101):
|
||||
return ("当前cookies已达到30人上限!")
|
||||
elif (raw_data["retcode"] == 10102):
|
||||
return ("当前查询id已经设置了隐私,无法查询!")
|
||||
return (
|
||||
"Api报错,返回内容为:\r\n"
|
||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||
)
|
||||
else:
|
||||
pass
|
||||
while 1:
|
||||
use_cookies = cacheDB(uid,mode-1)
|
||||
if use_cookies == '':
|
||||
return "绑定记录不存在。"
|
||||
elif use_cookies == "没有可以使用的Cookies!":
|
||||
return "没有可以使用的Cookies!"
|
||||
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid,use_cookies)
|
||||
mysid_data = uid
|
||||
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']
|
||||
nickname = mys_data['data']['list'][0]['nickname']
|
||||
role_level = mys_data['data']['list'][0]['level']
|
||||
raw_data = await GetInfo(uid,use_cookies)
|
||||
raw_Abyss_data = await GetSpiralAbyssInfo(uid,use_cookies)
|
||||
else:
|
||||
raw_Abyss_data = await GetSpiralAbyssInfo(uid,use_cookies)
|
||||
raw_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_Abyss_data = raw_Abyss_data['data']
|
||||
raw_data = raw_data['data']
|
||||
|
||||
char_data = 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_rawdata["data"]["avatars"]
|
||||
char_datas = []
|
||||
def get_charid(start,end):
|
||||
for i in range(start,end):
|
||||
char_rawdata = GetCharacter(uid,[i],use_cookies)
|
||||
|
||||
weapons_datas = []
|
||||
for i in char_datas:
|
||||
weapons_datas.append(i['weapon'])
|
||||
elif mode == 3:
|
||||
char_ids = []
|
||||
char_rawdata = []
|
||||
|
||||
for i in char_data:
|
||||
char_ids.append(i["id"])
|
||||
if char_rawdata["retcode"] == -1:
|
||||
pass
|
||||
else:
|
||||
char_datas.append(char_rawdata["data"]['avatars'][0])
|
||||
|
||||
char_rawdata = await GetCharacter(uid,char_ids,"cn_gf01",mysid_data)
|
||||
char_datas = char_rawdata["data"]["avatars"]
|
||||
thread_list = []
|
||||
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 i in char_datas:
|
||||
weapons_datas.append(i['weapon'])
|
||||
for t in thread_list:
|
||||
t.setDaemon(True)
|
||||
t.start()
|
||||
|
||||
for t in thread_list:
|
||||
t.join()
|
||||
|
||||
weapons_datas = []
|
||||
for i in char_datas:
|
||||
weapons_datas.append(i['weapon'])
|
||||
|
||||
l1_size = 2
|
||||
l2_size = 4
|
||||
@ -149,7 +158,7 @@ async def draw_wordcloud(uid,image = None,mode = 2):
|
||||
star5num = 0
|
||||
star5numcon = 0
|
||||
|
||||
for i in raw_data['avatars']:
|
||||
for i in char_datas:
|
||||
if i["name"] in ['雷电将军','温迪','钟离','枫原万叶']:
|
||||
g3d1 += 1
|
||||
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:
|
||||
word_str["团雀附体"] = l2_size
|
||||
|
||||
if raw_Abyss_data['total_battle_times'] <= 12 and raw_Abyss_data['max_floor'] == '12-3':
|
||||
word_str["PVP资格证"] = l4_size
|
||||
if raw_Abyss_data["damage_rank"][0]["value"] >= 150000:
|
||||
word_str["这一击,贯穿星辰"] = l4_size
|
||||
if raw_Abyss_data["reveal_rank"] != []:
|
||||
if raw_Abyss_data['total_battle_times'] <= 12 and raw_Abyss_data['max_floor'] == '12-3':
|
||||
word_str["PVP资格证"] = 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)
|
||||
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])
|
||||
|
||||
async def draw_abyss0_pic(uid,nickname,image = None,mode = 2,date = "1"):
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid)
|
||||
mysid_data = mys_data[1]
|
||||
mys_data = mys_data[0]
|
||||
for i in mys_data['data']['list']:
|
||||
if i['data'][0]['name'] != '活跃天数':
|
||||
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)
|
||||
while 1:
|
||||
use_cookies = cacheDB(uid,mode-1)
|
||||
if use_cookies == '':
|
||||
return "绑定记录不存在。"
|
||||
elif use_cookies == "没有可以使用的Cookies!":
|
||||
return "没有可以使用的Cookies!"
|
||||
|
||||
if (raw_data["retcode"] != 0):
|
||||
if (raw_data["retcode"] == 10001):
|
||||
return ("Cookie错误/过期,请重置Cookie")
|
||||
elif (raw_data["retcode"] == 10101):
|
||||
return ("当前cookies已达到30人上限!")
|
||||
elif (raw_data["retcode"] == 10102):
|
||||
return ("当前查询id已经设置了隐私,无法查询!")
|
||||
return (
|
||||
"Api报错,返回内容为:\r\n"
|
||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||
)
|
||||
else:
|
||||
pass
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid,use_cookies)
|
||||
mysid_data = uid
|
||||
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']
|
||||
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,use_cookies,date)
|
||||
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_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
|
||||
|
||||
async def draw_abyss_pic(uid,nickname,floor_num,image = None,mode = 2,date = "1"):
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid)
|
||||
mysid_data = mys_data[1]
|
||||
mys_data = mys_data[0]
|
||||
for i in mys_data['data']['list']:
|
||||
if i['data'][0]['name'] != '活跃天数':
|
||||
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)
|
||||
while 1:
|
||||
use_cookies = cacheDB(uid,mode-1)
|
||||
if use_cookies == '':
|
||||
return "绑定记录不存在。"
|
||||
elif use_cookies == "没有可以使用的Cookies!":
|
||||
return "没有可以使用的Cookies!"
|
||||
|
||||
if (raw_data["retcode"] != 0):
|
||||
if (raw_data["retcode"] == 10001):
|
||||
return ("Cookie错误/过期,请重置Cookie")
|
||||
elif (raw_data["retcode"] == 10101):
|
||||
return ("当前cookies已达到30人上限!")
|
||||
elif (raw_data["retcode"] == 10102):
|
||||
return ("当前查询id已经设置了隐私,无法查询!")
|
||||
return (
|
||||
"Api报错,返回内容为:\r\n"
|
||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||
)
|
||||
else:
|
||||
pass
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid,use_cookies)
|
||||
mysid_data = uid
|
||||
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']
|
||||
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,use_cookies,date)
|
||||
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
|
||||
@ -800,33 +824,40 @@ async def draw_abyss_pic(uid,nickname,floor_num,image = None,mode = 2,date = "1"
|
||||
return resultmes
|
||||
|
||||
async def draw_pic(uid,nickname,image = None,mode = 2,role_level = None):
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid)
|
||||
mysid_data = mys_data[1]
|
||||
mys_data = mys_data[0]
|
||||
for i in mys_data['data']['list']:
|
||||
if i['data'][0]['name'] != '活跃天数':
|
||||
mys_data['data']['list'].remove(i)
|
||||
uid = mys_data['data']['list'][0]['game_role_id']
|
||||
nickname = mys_data['data']['list'][0]['nickname']
|
||||
role_level = mys_data['data']['list'][0]['level']
|
||||
raw_data = await GetInfo(uid,"cn_gf01","1",mysid_data)
|
||||
else:
|
||||
raw_data = await GetInfo(uid)
|
||||
|
||||
if (raw_data["retcode"] != 0):
|
||||
if (raw_data["retcode"] == 10001):
|
||||
return ("Cookie错误/过期,请重置Cookie")
|
||||
elif (raw_data["retcode"] == 10101):
|
||||
return ("当前cookies已达到30人上限!")
|
||||
elif (raw_data["retcode"] == 10102):
|
||||
return ("当前查询id已经设置了隐私,无法查询!")
|
||||
return (
|
||||
"Api报错,返回内容为:\r\n"
|
||||
+ str(raw_data) + "\r\n出现这种情况可能的UID输入错误 or 不存在"
|
||||
)
|
||||
else:
|
||||
pass
|
||||
while 1:
|
||||
use_cookies = cacheDB(uid,mode-1)
|
||||
if use_cookies == '':
|
||||
return "绑定记录不存在。"
|
||||
elif use_cookies == "没有可以使用的Cookies!":
|
||||
return "没有可以使用的Cookies!"
|
||||
|
||||
if mode == 3:
|
||||
mys_data = await GetMysInfo(uid,use_cookies)
|
||||
mysid_data = uid
|
||||
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']
|
||||
nickname = mys_data['data']['list'][0]['nickname']
|
||||
role_level = mys_data['data']['list'][0]['level']
|
||||
|
||||
raw_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
|
||||
|
||||
bg_list = random.choice([x for x in os.listdir(BG_PATH)
|
||||
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 = []
|
||||
|
||||
def get_charid(start,end):
|
||||
if mode == 2:
|
||||
for i in range(start,end):
|
||||
char_rawdata = GetCharacter(uid,[i])
|
||||
|
||||
if char_rawdata["retcode"] == -1:
|
||||
pass
|
||||
else:
|
||||
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])
|
||||
for i in range(start,end):
|
||||
char_rawdata = GetCharacter(uid,[i],use_cookies)
|
||||
|
||||
if char_rawdata["retcode"] == -1:
|
||||
pass
|
||||
else:
|
||||
char_datas.append(char_rawdata["data"]['avatars'][0])
|
||||
|
||||
thread_list = []
|
||||
st = 8
|
||||
|
Loading…
x
Reference in New Issue
Block a user