Use minetest's JSON functions instead of external library

main
Bram van den Heuvel 2024-09-15 11:42:43 +02:00
parent 8b635781bf
commit 7ea3adbedc
6 changed files with 4 additions and 15 deletions

3
.gitmodules vendored
View File

@ -1,3 +0,0 @@
[submodule "lua-json"]
path = lua-json
url = https://git.noordstar.me/Bram/lua-json.git

View File

@ -7,7 +7,7 @@ This repository serves as a bridge between Matrix and Minetest servers.
1. Clone this repository into your Minetest mods folder:
```sh
git clone --recursive https://git.noordstar.me/Bram/mt-matrix.git
git clone https://git.noordstar.me/Bram/mt-matrix.git
```
2. To access the Matrix homeserver, this mod needs access to HTTP calls. Add this mod to your `minetest.conf` settings at the field `secure.http_mods`:

View File

@ -17,13 +17,6 @@ end
-- Load standard configuration
load("config")
-- Load JSON module
json = nil
load("lua-json/json")
if json == nil then
error("Failed to load JSON module")
end
-- Load Matrix modules
matrix = {}
load("lua/send")

@ -1 +0,0 @@
Subproject commit 261adde7a76687db142641d50cf4ed29873ec476

View File

@ -8,7 +8,7 @@ function matrix.send_message(http_api, body, formatted_body, callback, txnId)
config.url .. "/_matrix/client/v3/rooms/" .. config.room_id ..
"/send/m.room.message/" .. txnId
),
data = json.encode({
data = minetest.write_json({
msgtype = "m.text",
body = body,
format = "org.matrix.custom.html",
@ -22,7 +22,7 @@ function matrix.send_message(http_api, body, formatted_body, callback, txnId)
minetest.debug(result.data)
else
if callback ~= nil then
callback(json.decode(result.data))
callback(minetest.parse_json(result.data))
end
end
end)

View File

@ -22,7 +22,7 @@ function matrix.sync(http_api, callback, global_callback)
minetest.debug("Failed to sync with Matrix server; received code " .. result.code)
minetest.debug(result.data)
else
local answer = json.decode(result.data)
local answer = minetest.parse_json(result.data)
if answer.next_batch ~= nil then
sync_so_far = answer.next_batch