read and write

This commit is contained in:
AliasAlreadyTaken 2022-02-25 03:57:26 +01:00
parent df3c54c21f
commit 62b3444c10
1 changed files with 34 additions and 6 deletions

View File

@ -26,7 +26,7 @@ dofile(yl_matterbridge.modpath .. "config.lua")
local http = minetest.request_http_api()
function yl_matterbridge.send(user_name, message_text)
function send(user_name, message_text)
local url = "http://" .. yl_matterbridge.address .. ":" .. yl_matterbridge.port .. "/api/message"
local post_headers = {"Content-Type: application/json"}
local timeout = 10
@ -35,7 +35,7 @@ function yl_matterbridge.send(user_name, message_text)
username = user_name,
gateway = yl_matterbridge.gateway
}
core.log("action", "[MOD] yl_matterbridge : Posted " .. dump(data))
http.fetch(
{
url = url,
@ -49,7 +49,6 @@ function yl_matterbridge.send(user_name, message_text)
core.log("action", "[MOD] yl_matterbridge : Posted " .. dump(data))
else
minetest.log("error", "[yl_matterbridge] " .. dump(result))
--minetest.chat_send_player(user_name, "We were not able to send your text.")
return false
end
end
@ -57,10 +56,39 @@ function yl_matterbridge.send(user_name, message_text)
return true
end
minetest.register_on_chat_message(function(user_name, message_text)
yl_matterbridge.send(user_name, message_text)
end
minetest.register_on_chat_message(
function(user_name, message_text)
send(user_name, message_text)
end
)
local gs = function(dtime)
local url = "http://" .. yl_matterbridge.address .. ":" .. yl_matterbridge.port .. "/api/messages"
local timeout = 0
http.fetch(
{
url = url,
timeout = timeout
},
function(result)
if result.succeeded then
local data = minetest.parse_json(result.data)
core.log("action", "[MOD] yl_matterbridge : Posted " .. dump(data))
for _,v in ipairs(data) do
if v.username and v.text then
core.chat_send_all("<"..v.username.."@irc> "..v.text)
end
end
else
minetest.log("error", "[yl_matterbridge] " .. dump(result))
return false
end
end
)
end
minetest.register_globalstep(gs)
local mod_end_time = (core.get_us_time() - mod_start_time) / 1000000
core.log("action", "[MOD] yl_matterbridge loaded in [" .. mod_end_time .. "s]")