]> git.lizzy.rs Git - furrybot.git/blob - http.lua
Japanese waifu names
[furrybot.git] / http.lua
1 local http, env, storage
2 local C = minetest.get_color_escape_sequence
3
4 furrybot.commands.verse = {
5         func = function(name)
6                 furrybot.json_http_request("https://labs.bible.org/api/?type=json&passage=random", name, function(data)
7                         furrybot.send(data.text .. furrybot.colors.info .. "[" .. data.bookname .. " " .. data.chapter .. "," .. data.verse .. "]", furrybot.colors.fun)
8                 end)
9         end,
10 }
11
12 furrybot.commands.define = {
13         func = function(name, word)
14                 if word then
15                         furrybot.json_http_request("https://api.dictionaryapi.dev/api/v1/entries/en_US/" .. word:gsub("computer", "person"), name, function(data)
16                                 local meaning = data.meaning
17                                 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
18                                 if not selected then
19                                         print(dump(meaning))
20                                         furrybot.error_message(name, "Error in parsing response")
21                                 else
22                                         furrybot.send(word:sub(1, 1):upper() .. word:sub(2, #word):lower() .. ": " .. furrybot.colors.fun .. selected[1].definition, furrybot.colors.info)
23                                 end
24                         end)
25                 else
26                         furrybot.error_message(name, "You need to specify a word")
27                 end
28         end,
29 }
30
31 furrybot.commands.insult = {
32         func = function(name, target)
33                 if furrybot.online_or_error(name, target, true) then
34                         furrybot.http_request("https://insult.mattbas.org/api/insult", name, function(data)
35                                 furrybot.ping_message(target, data, furrybot.colors.fun)
36                         end)
37                 end
38         end,
39 }
40
41 furrybot.commands.joke = {
42         func = function(name, first, last)
43                 if not first then
44                         first = "Chuck"
45                         last = "Norris"
46                 elseif not last then
47                         last = ""
48                 end
49                 furrybot.json_http_request("http://api.icndb.com/jokes/random?firstName=" .. first .. "&lastName=" .. last, name, function(data)
50                         local joke = data.value.joke:gsub(""", "\""):gsub("  ", " ")
51                         furrybot.send(joke, furrybot.colors.fun)
52                 end)
53         end,
54 }
55
56 furrybot.commands["8ball"] = {
57         func = function(name)
58                 furrybot.json_http_request("https://8ball.delegator.com/magic/JSON/anything", name, function(data)
59                         furrybot.ping_message(name, data.magic.answer, furrybot.colors.fun)
60                 end)
61         end,
62 }
63
64 return function(_http, _env, _storage)
65         http, env, storage = _http, _env, _storage
66 end