mirror of
https://git.phreedom.club/localhost_frssoft/fediauth.git
synced 2024-11-22 07:51:29 +00:00
42 lines
1.4 KiB
Lua
42 lines
1.4 KiB
Lua
local http, instance, key
|
|
local server_name = minetest.settings:get("server_name") or ""
|
|
local automatic_delete = minetest.settings:get_bool("fediauth.automatic_delete")
|
|
local S = minetest.get_translator("fediauth")
|
|
|
|
function fediauth.send_code(code, account_handle, playername)
|
|
local lang_code = minetest.get_player_information(playername).lang_code
|
|
local expires_in = nil
|
|
if automatic_delete then
|
|
expires_in = 3600
|
|
end
|
|
|
|
local status = {
|
|
visibility = "direct",
|
|
status = minetest.get_translated_string(lang_code, S("This is an automated message from minetest server ")) .. server_name ..
|
|
minetest.get_translated_string(lang_code, S(" If you did not request this message please ignore or block. Your requested one-time code is:\n\n")) ..
|
|
code ..
|
|
"\n\n" ..
|
|
account_handle,
|
|
expires_in = expires_in
|
|
}
|
|
local json = minetest.write_json(status)
|
|
http.fetch({
|
|
url = "https://" .. instance .. "/api/v1/statuses",
|
|
extra_headers = { "Content-Type: application/json", "Authorization: Bearer " .. key },
|
|
timeout = 15,
|
|
post_data = json
|
|
}, function(res)
|
|
if res.code == 200 then
|
|
minetest.log("action", "[fediauth] code sent to: '" .. account_handle .. "' for player " .. playername)
|
|
else
|
|
minetest.log("error", "[fediauth] code not sent to: '" .. account_handle .. "' for player " .. playername)
|
|
end
|
|
end)
|
|
end
|
|
|
|
function mastoapi_init(h, i, k)
|
|
http = h
|
|
instance = i
|
|
key = k
|
|
end
|