Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/modules/mcplayer/__init__.py

37 lines
1.2 KiB
Python
Raw Normal View History

2022-06-28 06:11:03 +00:00
from core.builtins.message import MessageSession
2022-07-31 08:27:58 +00:00
from core.component import on_command
2022-06-28 06:11:03 +00:00
from core.elements import Plain, Image, Url
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 获取玩家信息。}')
async def main(msg: 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)