]> git.lizzy.rs Git - furrybot.git/blobdiff - http.lua
Japanese waifu names
[furrybot.git] / http.lua
index fc06d2cb322869d99dda8d135a713e210f0cd8a5..cff5c3431d5cf3b8410687160e8b56b7cb8a4974 100644 (file)
--- a/http.lua
+++ b/http.lua
@@ -1,56 +1,65 @@
 local http, env, storage
 local C = minetest.get_color_escape_sequence
 
-function furrybot.commands.verse(name)
-       furrybot.json_http_request("https://labs.bible.org/api/?type=json&passage=random", name, function(data)
-               furrybot.send(data.text .. furrybot.colors.info .. "[" .. data.bookname .. " " .. data.chapter .. "," .. data.verse .. "]", furrybot.colors.fun)
-       end)
-end
-
-function furrybot.commands.define(name, word)
-       if word then
-               furrybot.json_http_request("https://api.dictionaryapi.dev/api/v1/entries/en_US/" .. word:gsub("computer", "person"), name, function(data)
-                       local meaning = data.meaning
-                       local selected = meaning.abbreviation or meaning["cardinal number"] or meaning.exclamation or meaning.noun or meaning.verb or meaning.adjective or meaning["transitive verb"] or meaning.adverb or meaning["relative adverb"] or meaning.preposition
-                       if not selected then
-                               print(dump(meaning))
-                               furrybot.error_message(name, "Error in parsing response")
-                       else
-                               furrybot.send(word:sub(1, 1):upper() .. word:sub(2, #word):lower() .. ": " .. furrybot.colors.fun .. selected[1].definition, furrybot.colors.info)
-                       end
+furrybot.commands.verse = {
+       func = function(name)
+               furrybot.json_http_request("https://labs.bible.org/api/?type=json&passage=random", name, function(data)
+                       furrybot.send(data.text .. furrybot.colors.info .. "[" .. data.bookname .. " " .. data.chapter .. "," .. data.verse .. "]", furrybot.colors.fun)
                end)
-       else
-               furrybot.error_message(name, "You need to specify a word")
-       end
-end
+       end,
+}
 
-function furrybot.commands.insult(name, target)
-       if furrybot.online_or_error(name, target, true) then
-               furrybot.http_request("https://insult.mattbas.org/api/insult", name, function(data)
-                       furrybot.ping_message(target, data, furrybot.colors.fun)
-               end)
-       end
-end
+furrybot.commands.define = {
+       func = function(name, word)
+               if word then
+                       furrybot.json_http_request("https://api.dictionaryapi.dev/api/v1/entries/en_US/" .. word:gsub("computer", "person"), name, function(data)
+                               local meaning = data.meaning
+                               local selected = meaning.abbreviation or meaning["cardinal number"] or meaning.exclamation or meaning.noun or meaning.verb or meaning.adjective or meaning["transitive verb"] or meaning.adverb or meaning["relative adverb"] or meaning.preposition
+                               if not selected then
+                                       print(dump(meaning))
+                                       furrybot.error_message(name, "Error in parsing response")
+                               else
+                                       furrybot.send(word:sub(1, 1):upper() .. word:sub(2, #word):lower() .. ": " .. furrybot.colors.fun .. selected[1].definition, furrybot.colors.info)
+                               end
+                       end)
+               else
+                       furrybot.error_message(name, "You need to specify a word")
+               end
+       end,
+}
 
-function furrybot.commands.joke(name, first, last)
-       if not first then
-               first = "Chuck"
-               last = "Norris"
-       elseif not last then
-               last = ""
-       end
-       furrybot.json_http_request("http://api.icndb.com/jokes/random?firstName=" .. first .. "&lastName=" .. last, name, function(data)
-               local joke = data.value.joke:gsub(""", "\""):gsub("  ", " ")
-               furrybot.send(joke, furrybot.colors.fun)
-       end)
-end
+furrybot.commands.insult = {
+       func = function(name, target)
+               if furrybot.online_or_error(name, target, true) then
+                       furrybot.http_request("https://insult.mattbas.org/api/insult", name, function(data)
+                               furrybot.ping_message(target, data, furrybot.colors.fun)
+                       end)
+               end
+       end,
+}
 
-function furrybot.commands.question(name)
-       furrybot.json_http_request("https://8ball.delegator.com/magic/JSON/anything", name, function(data)
-               furrybot.ping_message(name, data.magic.answer, furrybot.colors.fun)
-       end)
-end
-furrybot.commands["8ball"] = furrybot.commands.question
+furrybot.commands.joke = {
+       func = function(name, first, last)
+               if not first then
+                       first = "Chuck"
+                       last = "Norris"
+               elseif not last then
+                       last = ""
+               end
+               furrybot.json_http_request("http://api.icndb.com/jokes/random?firstName=" .. first .. "&lastName=" .. last, name, function(data)
+                       local joke = data.value.joke:gsub(""", "\""):gsub("  ", " ")
+                       furrybot.send(joke, furrybot.colors.fun)
+               end)
+       end,
+}
+
+furrybot.commands["8ball"] = {
+       func = function(name)
+               furrybot.json_http_request("https://8ball.delegator.com/magic/JSON/anything", name, function(data)
+                       furrybot.ping_message(name, data.magic.answer, furrybot.colors.fun)
+               end)
+       end,
+}
 
 return function(_http, _env, _storage)
        http, env, storage = _http, _env, _storage