mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-06-01 13:09:56 +08:00
134 lines
4.9 KiB
Python
134 lines
4.9 KiB
Python
# https://github.com/Womsxd/YuanShen_User_Info
|
|
#import hashlib
|
|
#import json
|
|
#import random
|
|
#import string
|
|
import sys
|
|
#import time
|
|
|
|
from httpx import AsyncClient
|
|
|
|
from nonebot import *
|
|
import json
|
|
from random import randint
|
|
import requests,random,os,json,re
|
|
from hoshino import Service,R,priv,util
|
|
from hoshino.typing import MessageSegment,CQEvent, HoshinoBot
|
|
from hoshino.util import FreqLimiter,pic2b64
|
|
import hoshino
|
|
import asyncio
|
|
import time
|
|
import string
|
|
import random
|
|
import hashlib
|
|
import requests
|
|
import os
|
|
from PIL import Image,ImageFont,ImageDraw
|
|
from io import BytesIO
|
|
import base64
|
|
|
|
mhyVersion = "2.11.1"
|
|
|
|
|
|
def cache_Cookie():
|
|
cookie_list = []
|
|
return random.choice(cookie_list)
|
|
|
|
|
|
def md5(text):
|
|
md5 = hashlib.md5()
|
|
md5.update(text.encode())
|
|
return md5.hexdigest()
|
|
|
|
def DSGet(q = "",b = None):
|
|
if b:
|
|
br = json.dumps(b)
|
|
else:
|
|
br = ""
|
|
s = "xV8v4Qu54lUKrEYFZkJhB8cuOh9Asafs" #@Azure99
|
|
t = str(int(time.time()))
|
|
r = str(random.randint(100000, 200000))
|
|
c = md5("salt=" + s + "&t=" + t + "&r=" + r + "&b=" + br + "&q=" + q) #@lulu666lulu
|
|
return t + "," + r + "," + c
|
|
|
|
async def GetInfo(Uid, ServerID="cn_gf01",Schedule_type="1"):
|
|
if Uid[0] == '5':
|
|
ServerID = "cn_qd01"
|
|
try:
|
|
async with AsyncClient() as client:
|
|
req = await client.get(
|
|
url="https://api-takumi.mihoyo.com/game_record/app/genshin/api/index?role_id=" + Uid + "&server=" + ServerID,
|
|
headers={
|
|
#'Accept': 'application/json, text/plain, */*',
|
|
'DS': DSGet("role_id=" + Uid + "&server=" + ServerID),
|
|
#'Origin': 'https://webstatic.mihoyo.com',
|
|
'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',
|
|
'Referer': 'https://webstatic.mihoyo.com/',
|
|
#'Accept-Encoding': 'gzip, deflate',
|
|
#'Accept-Language': 'zh-CN,en-US;q=0.8',
|
|
#'X-Requested-With': 'com.mihoyo.hyperion',
|
|
"Cookie": cache_Cookie()})
|
|
data = json.loads(req.text)
|
|
return data
|
|
except:
|
|
print("访问失败,请重试!")
|
|
sys.exit(1)
|
|
|
|
async def GetSpiralAbyssInfo(Uid, ServerID="cn_gf01",Schedule_type="1"):
|
|
if Uid[0] == '5':
|
|
ServerID = "cn_qd01"
|
|
try:
|
|
async with AsyncClient() as client:
|
|
req = await client.get(
|
|
url="https://api-takumi.mihoyo.com/game_record/app/genshin/api/spiralAbyss?schedule_type=" + Schedule_type + "&server="+ ServerID +"&role_id=" + Uid,
|
|
headers={
|
|
'Accept': 'application/json, text/plain, */*',
|
|
'DS': DSGet("role_id=" + Uid + "&schedule_type=" + Schedule_type + "&server="+ ServerID),
|
|
'Origin': 'https://webstatic.mihoyo.com',
|
|
'Cookie': cache_Cookie(),
|
|
'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',
|
|
'Referer': 'https://webstatic.mihoyo.com/',
|
|
'Accept-Encoding': 'gzip, deflate',
|
|
'Accept-Language': 'zh-CN,en-US;q=0.8',
|
|
'X-Requested-With': 'com.mihoyo.hyperion'
|
|
}
|
|
)
|
|
data = json.loads(req.text)
|
|
return data
|
|
except:
|
|
print("访问失败,请重试!")
|
|
sys.exit(1)
|
|
|
|
|
|
async def GetCharacter(Uid,Character_ids, ServerID="cn_gf01"):
|
|
if Uid[0] == '5':
|
|
ServerID = "cn_qd01"
|
|
try:
|
|
req = requests.post(
|
|
url = "https://api-takumi.mihoyo.com/game_record/app/genshin/api/character",
|
|
headers={
|
|
'Accept': 'application/json, text/plain, */*',
|
|
'DS': DSGet('',{"character_ids": Character_ids ,"role_id": Uid ,"server": ServerID}),
|
|
'Origin': 'https://webstatic.mihoyo.com',
|
|
'Cookie': cache_Cookie(),
|
|
'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',
|
|
'Referer': 'https://webstatic.mihoyo.com/',
|
|
'Accept-Encoding': 'gzip, deflate',
|
|
'Accept-Language': 'zh-CN,en-US;q=0.8',
|
|
'X-Requested-With': 'com.mihoyo.hyperion'
|
|
},
|
|
json = {"character_ids": Character_ids ,"role_id": Uid ,"server": ServerID}
|
|
)
|
|
data2 = json.loads(req.text)
|
|
return data2
|
|
|
|
except:
|
|
print ("访问失败,请重试!")
|
|
#sys.exit (1)
|
|
return |