#--require-config wordnik-api-key import Utils URL_WORDNIK = "http://api.wordnik.com:80/v4/word.json/%s/definitions" class Module(object): def __init__(self, bot, events): self.bot = bot events.on("received").on("command").on("define").hook( self.define, help="Define a provided term", usage="") def define(self, event): if event["args"]: word = event["args"] else: word = event["buffer"].get(from_self=False) page = Utils.get_url(URL_WORDNIK % event["args"], get_params={ "useCanonical": "true", "limit": 1, "sourceDictionaries": "wiktionary", "api_key": self.bot.config[ "wordnik-api-key"]}, json=True) if page: if len(page): event["stdout"].write("%s: %s" % (page[0]["word"], page[0]["text"])) else: event["stderr"].write("No definitions found") else: event["stderr"].write("Failed to load results")