aboutsummaryrefslogtreecommitdiff
path: root/modules/define.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/define.py')
-rw-r--r--modules/define.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/define.py b/modules/define.py
new file mode 100644
index 00000000..f6b36e3e
--- /dev/null
+++ b/modules/define.py
@@ -0,0 +1,27 @@
+import Utils
+
+URL_WORDNIK = "http://api.wordnik.com:80/v4/word.json/%s/definitions"
+
+class Module(object):
+ def __init__(self, bot):
+ self.bot = bot
+ bot.events.on("received").on("command").on("define").hook(
+ self.define, help="Define a provided term")
+
+ def define(self, event):
+ if event["args"]:
+ word = event["args"]
+ else:
+ word = event["log"].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")