import requests from typing import List class ServerGet : url = r'https://mcserve-panel.hiso.de5.net/api/overview' @staticmethod def __getNames(): try: res = requests.get(ServerGet.url) data = res.json() servers:list = data['servers'] return servers except Exception as e : return None @staticmethod def __getIndex(ind:int): if ind <1 : return None try: res = requests.get(ServerGet.url) data = res.json() servers:list = data['servers'] if ind>servers.__len__(): return None server = servers[ind-1] return server except Exception as e : return None @staticmethod def GetNames(ctx:str): faultmsg = "(っ °Д °;)っ出错了呜....." servers = ServerGet.__getNames() if servers is None : return faultmsg if servers.__len__() == 0: return "(っ °Д °;)っ好像...没有服务器呢" # 试探是否有ctx对应的信息 try : for s in servers: if ctx.find(s['name']) != -1: name = s['name'] s_id = s['id'] status = s['status'] online = s['online'] url = s['url'] addr = s['address'] msg = "{0} 信息如下:\n \nid: {1}\n状态: {2}\n在线人数: {3}\n信息页面: {4}\n地址: {5}".format(name,s_id,status,online,url,addr) return msg except: '交给轮询试试' # 服务器轮训 msg = 'mc服务器如下:\n \n' try : for i in servers: msg += '' + """- """.format(str(i['name'])) +' ' + "状态:"+str(i['status']) msg +='\n' msg += ' \n点击蓝字获取详情~' return msg except: return faultmsg