diff options
author | Kyomotoi <[email protected]> | 2020-07-07 10:47:21 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2020-07-07 10:47:21 +0800 |
commit | 8c1486e0bb162b302950271794cd3d62e4dc50cd (patch) | |
tree | 40b6297dfd6b783ea704f7c7dec93ff53a005478 /AyaBot/plugins | |
parent | 9844d1ec8a18cc8fc7600a72c8cb6810c8952758 (diff) | |
download | ATRI-8c1486e0bb162b302950271794cd3d62e4dc50cd.tar.gz ATRI-8c1486e0bb162b302950271794cd3d62e4dc50cd.tar.bz2 ATRI-8c1486e0bb162b302950271794cd3d62e4dc50cd.zip |
[ADD] Minecraft info
Minecraft server info,
Minecraft player info.
Diffstat (limited to 'AyaBot/plugins')
-rw-r--r-- | AyaBot/plugins/mojang.py | 60 |
1 files changed, 60 insertions, 0 deletions
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 |