From c0b344c287838f80d1d06164ffd6869da518faf9 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Wed, 14 Jun 2017 02:15:29 +0000 Subject: [PATCH] Wordnik in Hangman --- assets/json/hangman.json | 17 ----------------- commands/games/hangman.js | 17 +++++++++++++++-- 2 files changed, 15 insertions(+), 19 deletions(-) delete mode 100644 assets/json/hangman.json diff --git a/assets/json/hangman.json b/assets/json/hangman.json deleted file mode 100644 index fc6db47a..00000000 --- a/assets/json/hangman.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - "hangman", - "cats", - "kirby", - "xiaobot", - "daniel", - "pants", - "portal", - "foster", - "pancake", - "pens", - "computer", - "xiao", - "mouse", - "pikachu", - "nonsense" -] \ No newline at end of file diff --git a/commands/games/hangman.js b/commands/games/hangman.js index 6738bd90..64e9f9f5 100644 --- a/commands/games/hangman.js +++ b/commands/games/hangman.js @@ -1,6 +1,7 @@ const Command = require('../../structures/Command'); +const snekfetch = require('snekfetch'); const { stripIndents } = require('common-tags'); -const words = require('../../assets/json/hangman'); +const { WORDNIK_KEY } = process.env; module.exports = class HangmanCommand extends Command { constructor(client) { @@ -18,7 +19,19 @@ module.exports = class HangmanCommand extends Command { async run(msg) { if (this.playing.has(msg.guild.id)) return msg.say('Only one game may be occurring per server.'); this.playing.add(msg.guild.id); - const word = words[Math.floor(Math.random() * words.length)]; + const { body } = await snekfetch + .get('http://api.wordnik.com:80/v4/words.json/randomWord') + .query({ + hasDictionaryDef: true, + minCorpusCount: 0, + maxCorpusCount: -1, + minDictionaryCount: 1, + maxDictionaryCount: -1, + minLength: -1, + maxLength: -1, + api_key: WORDNIK_KEY + }); + const { word } = body; let points = 0; const confirmation = []; const display = '_'.repeat(word.length).split('');