]> git.lizzy.rs Git - amogus.git/blob - bot.lua
Ignore furrybot commands
[amogus.git] / bot.lua
1 local http, env, storage
2
3 function amogus.urlencode(url)
4         url = url:gsub("\n", "\r\n")
5         url = url:gsub("([^%w ])", function(c)
6                 return string.format("%%%02X", string.byte(c))
7         end)
8         url = url:gsub(" ", "+")
9         return url
10 end
11
12 function amogus.parse_message(player, message, discord)
13         if player ~= minetest.localplayer:get_name() and message:sub(1, 1) ~= "!" then
14                 http.fetch({url = "http://localhost:6969?message=" .. amogus.urlencode(message), timeout = 100}, function(res)
15                         if res.succeeded then
16                                 minetest.send_chat_message(res.data)
17                         end
18                 end)
19         end
20 end
21
22 function amogus.reload()
23         local func, err = env.loadfile("clientmods/amogus/bot.lua")
24         if func then
25                 local old_amogus = table.copy(amogus)
26                 local status, init = pcall(func)
27                 if status then
28                         init(http, env, storage)
29                 else
30                         amogus = old_amogus
31                         return false, "Error: " .. init
32                 end
33         else
34                 return false, "Syntax error: " .. err
35         end
36 end
37
38 return function(_http, _env, _storage)
39         http, env, storage = _http, _env, _storage
40 end