import json import requests from lxml import etree from command import CommandRegistry from commands import core __registry__ = cr = CommandRegistry() @cr.register('ip') def ip(args_text, ctx_msg): query = args_text.strip() if not query: core.echo('请指定要查询的 IP 或域名', ctx_msg) return core.echo('正在查询,请稍等……', ctx_msg) chinaz_url = 'http://ip.chinaz.com/%s' ipcn_url = 'http://ip.cn/?ip=%s' ipipnet_url = 'http://freeapi.ipip.net/%s' found = False # Get data from ChinaZ.com resp = requests.get(chinaz_url % query) if resp.status_code == 200: html = etree.HTML(resp.text) p_elems = html.xpath('//p[@class="WhwtdWrap bor-b1s col-gray03"]')
from command import CommandRegistry from commands import core from nl_processor import parse_potential_commands from little_shit import load_plugins, get_fallback_command_after_nl_processors from command import hub as cmdhub def _init(): load_plugins('nl_processors') __registry__ = cr = CommandRegistry(init_func=_init) _fallback_command = get_fallback_command_after_nl_processors() @cr.register('process') @cr.restrict(full_command_only=True) def process(args_text, ctx_msg): sentence = args_text.strip() if not sentence: core.echo('你什么都没说哦~', ctx_msg) return potential_commands = parse_potential_commands(sentence) potential_commands = sorted(filter(lambda x: x[0] > 60, potential_commands), key=lambda x: x[0], reverse=True) # If it's a fallback and with empty start flag, then don't send verbose information hide_verbose = ctx_msg.get('is_fallback') and ctx_msg.get('start_flag') == '' if len(potential_commands) > 0: most_possible_cmd = potential_commands[0] core.echo(