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: 1. Clone this repository into your Minetest mods folder:
```sh ```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`: 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 standard configuration
load("config") 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 -- Load Matrix modules
matrix = {} matrix = {}
load("lua/send") 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 .. config.url .. "/_matrix/client/v3/rooms/" .. config.room_id ..
"/send/m.room.message/" .. txnId "/send/m.room.message/" .. txnId
), ),
data = json.encode({ data = minetest.write_json({
msgtype = "m.text", msgtype = "m.text",
body = body, body = body,
format = "org.matrix.custom.html", format = "org.matrix.custom.html",
@ -22,7 +22,7 @@ function matrix.send_message(http_api, body, formatted_body, callback, txnId)
minetest.debug(result.data) minetest.debug(result.data)
else else
if callback ~= nil then if callback ~= nil then
callback(json.decode(result.data)) callback(minetest.parse_json(result.data))
end end
end 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("Failed to sync with Matrix server; received code " .. result.code)
minetest.debug(result.data) minetest.debug(result.data)
else else
local answer = json.decode(result.data) local answer = minetest.parse_json(result.data)
if answer.next_batch ~= nil then if answer.next_batch ~= nil then
sync_so_far = answer.next_batch sync_so_far = answer.next_batch