向下兼容Python 3.8

This commit is contained in:
MingxuanGame 2022-04-02 23:22:28 +08:00
parent 02f3595ede
commit 8fd1ad6e8f
No known key found for this signature in database
GPG Key ID: 90C7EFA11DC3C2FF
6 changed files with 232 additions and 218 deletions

View File

@ -26,16 +26,17 @@
## 丨我该如何获取Cookies[#92](https://github.com/KimigaiiWuyi/GenshinUID/issues/92)[@RemKeeper](https://github.com/RemKeeper)
```
```js
var cookie = document.cookie;
var Str_Num = cookie.indexOf('_MHYUUID=');
cookie = '添加 ' + cookie.substring(Str_Num);
var ask = confirm('Cookie:' + cookie + '\n\n按确认然后粘贴发送给机器人');
if(ask==true)
{copy(cookie);
msg=cookie}
else
{msg='Cancel'}
if (ask == true) {
copy(cookie);
msg = cookie
} else {
msg = 'Cancel'
}
```
1. 复制上面全部代码然后打开https://bbs.mihoyo.com/ys/
@ -46,11 +47,18 @@ else
**警告Cookies属于个人隐私其效用相当于账号密码请勿随意公开**
## 丨获取米游社Stoken([AutoMihoyoBBS](https://github.com/Womsxd/AutoMihoyoBBS#%E8%8E%B7%E5%8F%96%E7%B1%B3%E6%B8%B8%E7%A4%BECookie))
**前提**已经添加过米游社Cookies并且已经绑定过uid(仅用于米游社币的获取)
```sh
```js
var cookie = document.cookie;
var ask = confirm('Cookie:' + cookie + '\n\nDo you want to copy the cookie to the clipboard?');
if(ask==true){copy("添加 stoken" + cookie);msg=cookie}else{msg='Cancel'}
if (ask == true) {
copy("添加 stoken" + cookie);
msg = cookie
} else {
msg = 'Cancel'
}
```
1. 复制上面全部代码然后打开http://user.mihoyo.com/
@ -76,7 +84,7 @@ if(ask==true){copy("添加 stoken" + cookie);msg=cookie}else{msg='Cancel'}
## 丨其他
+ 如果对本插件有功能建议&Bug报告欢迎提Issuse & Pr每一条都会详细看过
+ 如果对本插件有功能建议&Bug报告欢迎提Issue & Pr每一条都会详细看过
+ 如果本插件对你有帮助不要忘了点个Star~
+ 本项目仅供学习使用,请勿用于商业用途
+ [爱发电](https://afdian.net/@KimigaiiWuyi)

View File

@ -34,7 +34,7 @@ async def send_weapon_adv(bot: HoshinoBot, ev: CQEvent):
name = str(ev.message).strip().replace(" ", "")[:-3]
im = await weapon_adv(name)
await bot.send(ev, im)
except Exception as e:
except Exception:
logger.exception("获取建议失败。")

View File

@ -4,7 +4,7 @@ import threading
from base64 import b64encode
from io import BytesIO
from re import Match, findall
from typing import Optional
from typing import Optional, Tuple, List
import numpy as np
from PIL import Image, ImageDraw, ImageFilter, ImageFont
@ -67,7 +67,7 @@ class CustomizeImage:
return bg_img
@staticmethod
def get_bg_color(edit_bg: Image) -> tuple[int, int, int]:
def get_bg_color(edit_bg: Image) -> Tuple[int, int, int]:
# 获取背景主色
color = 8
q = edit_bg.quantize(colors=color, method=2)
@ -85,7 +85,7 @@ class CustomizeImage:
return bg_color
@staticmethod
def get_text_color(bg_color: tuple[int, int, int]) -> tuple[int, int, int]:
def get_text_color(bg_color: Tuple[int, int, int]) -> Tuple[int, int, int]:
# 通过背景主色bg_color确定文字主色
r = 125
if max(*bg_color) > 255 - r:
@ -96,7 +96,7 @@ class CustomizeImage:
return text_color
@staticmethod
def get_char_color(bg_color: tuple[int, int, int]) -> tuple[int, int, int]:
def get_char_color(bg_color: Tuple[int, int, int]) -> Tuple[int, int, int]:
r = 140
if max(*bg_color) > 255 - r:
r *= -1
@ -106,7 +106,7 @@ class CustomizeImage:
return char_color
@staticmethod
def get_char_high_color(bg_color: tuple[int, int, int]) -> tuple[int, int, int]:
def get_char_high_color(bg_color: Tuple[int, int, int]) -> Tuple[int, int, int]:
r = 140
d = 20
if max(*bg_color) > 255 - r:
@ -117,7 +117,7 @@ class CustomizeImage:
return char_color
@staticmethod
def get_bg_detail_color(bg_color: tuple[int, int, int]) -> tuple[int, int, int]:
def get_bg_detail_color(bg_color: Tuple[int, int, int]) -> Tuple[int, int, int]:
r = 140
if max(*bg_color) > 255 - r:
r *= -1
@ -127,7 +127,7 @@ class CustomizeImage:
return bg_detail_color
@staticmethod
def get_highlight_color(color: tuple[int, int, int]) -> tuple[int, int, int]:
def get_highlight_color(color: Tuple[int, int, int]) -> Tuple[int, int, int]:
red_color = color[0]
green_color = color[1]
blue_color = color[2]
@ -980,7 +980,7 @@ async def draw_abyss_pic(uid: str, nickname: str, floor_num: int, image: Optiona
return resultmes
async def get_all_calculate_info(client: ClientSession, uid: str, char_id: list[str], ck: str, name: list):
async def get_all_calculate_info(client: ClientSession, uid: str, char_id: List[str], ck: str, name: list):
tasks = []
for id_, name_ in zip(char_id, name):
tasks.append(get_calculate_info(client, uid, id_, ck, name_))
@ -991,9 +991,9 @@ async def get_all_calculate_info(client: ClientSession, uid: str, char_id: list[
return data
async def draw_char_pic(img: Image, char_data: dict, index: int, bg_color: tuple[int, int, int],
text_color: tuple[int, int, int], bg_detail_color: tuple[int, int, int],
char_high_color: tuple[int, int, int], char_talent_data: dict):
async def draw_char_pic(img: Image, char_data: dict, index: int, bg_color: Tuple[int, int, int],
text_color: Tuple[int, int, int], bg_detail_color: Tuple[int, int, int],
char_high_color: Tuple[int, int, int], char_talent_data: dict):
char_mingzuo = 0
for k in char_data['constellations']:
if k['is_actived']:

View File

@ -1,6 +1,6 @@
import time
import random
import string
import time
from httpx import AsyncClient
@ -8,10 +8,12 @@ from get_data import old_version_get_ds_token,random_hex
# 米游社的API列表
bbs_Cookieurl = "https://webapi.account.mihoyo.com/Api/cookie_accountinfo_by_loginticket?login_ticket={}"
bbs_Cookieurl2 = "https://api-takumi.mihoyo.com/auth/api/getMultiTokenByLoginTicket?login_ticket={}&token_types=3&uid={}"
bbs_Cookieurl2 = "https://api-takumi.mihoyo.com/auth/api/getMultiTokenByLoginTicket" \
"?login_ticket={}&token_types=3&uid={}"
bbs_Taskslist = "https://bbs-api.mihoyo.com/apihub/sapi/getUserMissionsState" # 获取任务列表
bbs_Signurl = "https://bbs-api.mihoyo.com/apihub/sapi/signIn?gids={}" # post
bbs_Listurl = "https://bbs-api.mihoyo.com/post/api/getForumPostList?forum_id={}&is_good=false&is_hot=false&page_size=20&sort_type=1"
bbs_Listurl = "https://bbs-api.mihoyo.com/post/api/getForumPostList?" \
"forum_id={}&is_good=false&is_hot=false&page_size=20&sort_type=1"
bbs_Detailurl = "https://bbs-api.mihoyo.com/post/api/getPostFull?post_id={}"
bbs_Shareurl = "https://bbs-api.mihoyo.com/apihub/api/getShareConf?entity_id={}&entity_type=1"
bbs_Likeurl = "https://bbs-api.mihoyo.com/apihub/sapi/upvotePost" # post json
@ -48,10 +50,12 @@ mihoyobbs_List = [{
"url": "https://bbs.mihoyo.com/sr/"
}]
def random_text(num: int) -> str:
return ''.join(random.sample(string.ascii_lowercase + string.digits, num))
class mihoyobbs_coin:
class MihoyoBBSCoin:
def __init__(self, cookies):
self.headers = {
"DS": old_version_get_ds_token(True),
@ -81,24 +85,24 @@ class mihoyobbs_coin:
self.Have_coins = 0
async def task_run(self):
await self.Load_Mihoyobbs_List_Use()
start = await self.Get_taskslist()
await self.load_mihoyo_bbs_list_use()
start = await self.get_tasks_list()
self.postsList = await self.get_list()
sign = await self.signing()
read = await self.read_posts()
like = await self.Likeposts()
like = await self.like_posts()
share = await self.share_post()
im = start + "\n" + sign + "\n" + read + "\n" + like + "\n" + share
return im
async def Load_Mihoyobbs_List_Use(self):
async def load_mihoyo_bbs_list_use(self):
for i in [2, 5]:
for k in mihoyobbs_List:
if i == int(k["id"]):
self.mihoyobbs_List_Use.append(k)
# 获取任务列表,用来判断做了哪些任务
async def Get_taskslist(self):
async def get_tasks_list(self):
# log.info("正在获取任务列表")
async with AsyncClient() as client:
req = await client.get(url=bbs_Taskslist, headers=self.headers)
@ -175,7 +179,6 @@ class mihoyobbs_coin:
return "你的Cookies已失效。"
return "已完成签到任务~"
# 看帖子
async def read_posts(self):
if self.Task_do["bbs_Read_posts"]:
@ -190,8 +193,9 @@ class mihoyobbs_coin:
num_ok += 1
time.sleep(random.randint(2, 8))
return "已完成看帖任务~共计成功{}次~".format(str(num_ok))
# 点赞
async def Likeposts(self):
async def like_posts(self):
if self.Task_do["bbs_Like_posts"]:
return "点赞任务已经完成过了~"
else:

View File

@ -3,13 +3,15 @@ import os
import sys
from base64 import b64encode
from io import BytesIO
from typing import List
from openpyxl import load_workbook
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from .get_data import *
from .get_image import draw_event_pic
import get_mihoyo_bbs_coin as coin
# 忽略PEP8 E402 module level import not at top of file 警告
from .get_data import * # noqa: E402
from .get_image import draw_event_pic # noqa: E402
import get_mihoyo_bbs_coin as coin # noqa: E402
FILE_PATH = os.path.dirname(__file__)
FILE2_PATH = os.path.join(FILE_PATH, 'mihoyo_bbs')
@ -444,7 +446,7 @@ async def daily(mode="push", uid=None):
current_expedition_num = dailydata['current_expedition_num']
max_expedition_num = dailydata['max_expedition_num']
finished_expedition_num = 0
expedition_info: list[str] = []
expedition_info: List[str] = []
for expedition in dailydata['expeditions']:
avatar: str = expedition['avatar_side_icon'][89:-4]
try:
@ -528,7 +530,7 @@ async def mihoyo_coin(qid, s_cookies=None):
s_cookies = await get_stoken(uid)
if s_cookies:
get_coin = coin.mihoyobbs_coin(s_cookies)
get_coin = coin.MihoyoBBSCoin(s_cookies)
im = await get_coin.task_run()
else:
im = "你还没有绑定Stoken~"