示例#1
0
def imagesearch(bot, event, *args):
    num_requested = 0
    if len(args) == 0:
        bot.send_message(event.conv, "Error: requires more than 0 arguments.")
        return
    else:
        if args[-1][0] == '@' and UtilBot.is_integer(args[-1][1:]):
            # we subtract one here because image #1 is the 0 item in the list
            num_requested = int(args[-1][1:]) - 1
            args = args[:-1]

    if num_requested > 7 or num_requested < 0:
        bot.send_message(event.conv,
                         "Error: result number must be between 1 and 8.")
        return

    query = ' '.join(args)
    url = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&' \
          + parse.urlencode({'q': query})

    resp = request.urlopen(url)
    image_json = json.loads(resp.read().decode())
    url = image_json['responseData']['results'][num_requested]['unescapedUrl']

    yield from send_image(bot, event, url)