2023-02-05 14:33:33 +00:00
|
|
|
|
from core.builtins import Bot
|
|
|
|
|
from core.builtins import Plain, Image, Url
|
2022-07-31 08:27:58 +00:00
|
|
|
|
from core.component import on_command
|
2022-01-18 11:09:54 +00:00
|
|
|
|
from .mojang_api import *
|
|
|
|
|
|
|
|
|
|
mcplayer = on_command(
|
|
|
|
|
bind_prefix='mcplayer',
|
2022-01-18 11:18:01 +00:00
|
|
|
|
desc='从 Mojang API 获取 Minecraft Java 版玩家信息',
|
2022-01-18 11:09:54 +00:00
|
|
|
|
developers=['Dianliang233'],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@mcplayer.handle('<username_or_uuid> {通过玩家名或玩家 UUID 获取玩家信息。}')
|
2023-02-05 14:33:33 +00:00
|
|
|
|
async def main(msg: Bot.MessageSession):
|
2022-07-31 08:27:58 +00:00
|
|
|
|
arg = msg.parsed_msg['<username_or_uuid>']
|
2022-01-18 11:14:29 +00:00
|
|
|
|
try:
|
|
|
|
|
if len(arg) == 32:
|
|
|
|
|
name = await uuid_to_name(arg)
|
|
|
|
|
uuid = arg
|
|
|
|
|
elif len(arg) == 36 and arg.count('-') == 4:
|
|
|
|
|
uuid = arg.replace('-', '')
|
|
|
|
|
name = await uuid_to_name(arg)
|
|
|
|
|
else:
|
|
|
|
|
name = arg
|
|
|
|
|
uuid = await name_to_uuid(arg)
|
|
|
|
|
sac = await uuid_to_skin_and_cape(uuid)
|
2022-07-21 17:40:01 +00:00
|
|
|
|
render = sac['render']
|
2022-01-18 11:14:29 +00:00
|
|
|
|
skin = sac['skin']
|
|
|
|
|
cape = sac['cape']
|
|
|
|
|
namemc = 'https://namemc.com/profile/' + name
|
2022-07-21 17:40:01 +00:00
|
|
|
|
chain = [Plain(f'{name}({uuid})\nNameMC:{Url(namemc)}'), Image(render), Image(skin)]
|
2022-05-14 12:32:29 +00:00
|
|
|
|
if cape:
|
|
|
|
|
chain.append(Image(cape))
|
2022-01-18 11:14:29 +00:00
|
|
|
|
except ValueError:
|
|
|
|
|
chain = [Plain(f'未找到 {arg} 的信息。')]
|
2022-05-21 16:04:29 +00:00
|
|
|
|
await msg.finish(chain)
|