🐛 修复深渊配队的旅行者未拥有问题

This commit is contained in:
CMHopeSunshine 2022-10-02 20:01:42 +08:00
parent 24d4ac595a
commit fb15e0754a
2 changed files with 8 additions and 5 deletions

View File

@ -13,8 +13,10 @@ from .models import TeamRate
async def draw_team_line(up: TeamRate, down: TeamRate, characters: List[str]) -> PMImage: async def draw_team_line(up: TeamRate, down: TeamRate, characters: List[str]) -> PMImage:
img = PMImage(size=(1013, 127), mode='RGBA', color=(0, 0, 0, 0)) img = PMImage(size=(1013, 127), mode='RGBA', color=(0, 0, 0, 0))
up.formation.sort(key=lambda x: x.star, reverse=True)
down.formation.sort(key=lambda x: x.star, reverse=True)
for i, member in enumerate(up.formation): for i, member in enumerate(up.formation):
owned = member.name in characters if characters else True owned = (member.name in characters or member.name in {'', ''}) if characters else True
await img.paste(await load_image(RESOURCE_BASE_PATH / 'icon' / f'{member.star}starbox.png'), (110 * i, 0)) await img.paste(await load_image(RESOURCE_BASE_PATH / 'icon' / f'{member.star}starbox.png'), (110 * i, 0))
await img.paste( await img.paste(
await load_image(RESOURCE_BASE_PATH / 'avatar' / f'{get_chara_icon(name=member.name)}.png', size=(100, 100)), await load_image(RESOURCE_BASE_PATH / 'avatar' / f'{get_chara_icon(name=member.name)}.png', size=(100, 100)),
@ -25,7 +27,7 @@ async def draw_team_line(up: TeamRate, down: TeamRate, characters: List[str]) ->
await img.paste(await load_image(RESOURCE_BASE_PATH / 'icon' / 'grey_box.png'), (110 * i, 0)) await img.paste(await load_image(RESOURCE_BASE_PATH / 'icon' / 'grey_box.png'), (110 * i, 0))
await img.text(f'{round(up.rate * 100, 2)}%', 439, 30, fm.get('bahnschrift_bold', 30), '#33231a') await img.text(f'{round(up.rate * 100, 2)}%', 439, 30, fm.get('bahnschrift_bold', 30), '#33231a')
for i, member in enumerate(down.formation): for i, member in enumerate(down.formation):
owned = member.name in characters if characters else True owned = (member.name in characters or member.name in {'', ''}) if characters else True
await img.paste(await load_image(RESOURCE_BASE_PATH / 'icon' / f'{member.star}starbox.png'), (583 + 110 * i, 0)) await img.paste(await load_image(RESOURCE_BASE_PATH / 'icon' / f'{member.star}starbox.png'), (583 + 110 * i, 0))
await img.paste( await img.paste(
await load_image(RESOURCE_BASE_PATH / 'avatar' / f'{get_chara_icon(name=member.name)}.png', size=(100, 100)), await load_image(RESOURCE_BASE_PATH / 'avatar' / f'{get_chara_icon(name=member.name)}.png', size=(100, 100)),

View File

@ -1,5 +1,6 @@
from nonebot import on_command from nonebot import on_command
from nonebot.adapters.onebot.v11 import Message, MessageEvent, MessageSegment from nonebot.adapters.onebot.v11 import Message, MessageEvent, MessageSegment
from nonebot.adapters.onebot.v11.helpers import HandleCancellation
from nonebot.params import Arg, ArgPlainText, CommandArg from nonebot.params import Arg, ArgPlainText, CommandArg
from nonebot.plugin import PluginMetadata from nonebot.plugin import PluginMetadata
from nonebot.typing import T_State from nonebot.typing import T_State
@ -238,7 +239,7 @@ async def _(event: MessageEvent, state: T_State, msg: Message = CommandArg()):
state['alias'] = Message(msg[1]) state['alias'] = Message(msg[1])
@add_alias.got('alias', prompt=Message.template('你想把{chara}设置为你的谁呢?')) @add_alias.got('alias', prompt=Message.template('你想把{chara}设置为你的谁呢?'), parameterless=[HandleCancellation(f'好吧,有事再找{NICKNAME}')])
async def _(event: MessageEvent, chara: str = ArgPlainText('chara'), alias: str = ArgPlainText('alias')): async def _(event: MessageEvent, chara: str = ArgPlainText('chara'), alias: str = ArgPlainText('alias')):
await PlayerAlias.update_or_create(user_id=str(event.user_id), alias=alias, defaults={'character': chara}) await PlayerAlias.update_or_create(user_id=str(event.user_id), alias=alias, defaults={'character': chara})
await add_alias.finish(f'设置成功,{NICKNAME}知道{chara}是你的{alias}啦..') await add_alias.finish(f'设置成功,{NICKNAME}知道{chara}是你的{alias}啦..')
@ -254,7 +255,7 @@ async def _(event: MessageEvent, state: T_State, msg: Message = CommandArg()):
await delete_alias.finish('你还没有设置任何别名哦') await delete_alias.finish('你还没有设置任何别名哦')
@delete_alias.got('alias', prompt=Message.template('{msg}')) @delete_alias.got('alias', prompt=Message.template('{msg}'), parameterless=[HandleCancellation(f'好吧,有事再找{NICKNAME}')])
async def _(event: MessageEvent, msg: str = ArgPlainText('alias')): async def _(event: MessageEvent, msg: str = ArgPlainText('alias')):
if msg == '全部': if msg == '全部':
await PlayerAlias.filter(user_id=str(event.user_id)).delete() await PlayerAlias.filter(user_id=str(event.user_id)).delete()
@ -263,7 +264,7 @@ async def _(event: MessageEvent, msg: str = ArgPlainText('alias')):
await alias.delete() await alias.delete()
await delete_alias.finish(f'别名{msg}删除成功!', at_sender=True) await delete_alias.finish(f'别名{msg}删除成功!', at_sender=True)
else: else:
await delete_alias.reject(f'你并没有将{msg}设置为某个角色的别名', at_sender=True) await delete_alias.reject(f'你并没有将{msg}设置为某个角色的别名,回复"取消"取消删除', at_sender=True)
@show_alias.handle() @show_alias.handle()