# ddg module # --gry import urllib.request from urllib.error import HTTPError,URLError import socket import json @plugin class ddg(object): def __init__(self, server): self.server = server self.commands = ["ddg"] self.server.handle("command", self.handle_command, self.commands) def handle_command(self, channel, user, cmd, args): if len(args) < 1: self.server.doMessage(channel, user+": DuckDuckGo.com Zero-Click infoboxes search. Syntax: ddg <query>.") return try: request = "+".join(args) sock = urllib.request.urlopen("http://api.duckduckgo.com/?q=%s&o=json" % request) data = sock.read() sock.close() data = data.decode('utf-8') if str(json.loads(data)["AbstractText"]) != "": self.server.doMessage(channel, user+": "+"%s %s)"%(str(json.loads(data)["AbstractURL"]),str(json.loads(data)["AbstractText"][0:200]))) elif str(json.loads(data)["Definition"]) != "": self.server.doMessage(channel, user+": "+"%s %s"%(str(json.loads(data)["DefinitionURL"]),str(json.loads(data)["Definition"]))) except Exception as e: self.server.doMessage(channel, user+": "+str(e))