From 8c1486e0bb162b302950271794cd3d62e4dc50cd Mon Sep 17 00:00:00 2001 From: Kyomotoi <1172294279@qq.com> Date: Tue, 7 Jul 2020 10:47:21 +0800 Subject: [ADD] Minecraft info Minecraft server info, Minecraft player info. --- AyaBot/plugins/mojang.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 AyaBot/plugins/mojang.py (limited to 'AyaBot/plugins') diff --git a/AyaBot/plugins/mojang.py b/AyaBot/plugins/mojang.py new file mode 100644 index 0000000..6026daf --- /dev/null +++ b/AyaBot/plugins/mojang.py @@ -0,0 +1,60 @@ +import json +import base64 +import nonebot +import requests +from mcstatus import MinecraftServer +from nonebot import on_command, CommandSession + + +@on_command('mc_server_status', aliases=['服务器状态查询'], only_to_me=False) +async def _(session: CommandSession): + ip = session.current_arg.strip() + if not ip: + ip = session.get('server', prompt='请告诉吾辈服务器ip,或输入服务器名(如需添加请联系作者)') + + if ip == '南外手艺': + ip = str('mc.nflsedition.com:26164') + + elif ip == 'hypixel': + ip = str('mc.hypixel.net') + + elif ip == 'shotbow': + ip = str('us.shotbow.net') + + elif ip == 'potterworld': + ip = str('potterworldmc.com') + + else: + pass + + server = MinecraftServer.lookup(ip) + status = server.status() + await session.finish(f'IP:{ip}\nPlayers: {0}\nms: {1}'.format(status.players.online, status.latency)) + + +@on_command('check_mc_id', aliases=['mc正版查询', 'MC正版查询'], only_to_me=False) +async def check_mc_id(session: CommandSession): + player = session.current_arg.strip() + if not player: + player = session.get('player', prompt='请告诉吾辈需要查询的id') + + url = f'https://api.mojang.com/users/profiles/minecraft/{player}' + print(url) + + try: + response = requests.request("GET", url) + + try: + html = response.text + ms = json.loads(html) + + name = ms["name"] + uuid = ms["id"] + + await session.send(f'status: success!\nPlayer: {name}\nuuid: {uuid}\nNamemc: https://mine.ly/{name}.1') + + except: + await session.send(f'{player}可能为非正版玩家,无法查询到其信息') + + except: + await session.send('mojang似乎炸了...等一会吧') \ No newline at end of file -- cgit v1.2.3