Add config.lua
							parent
							
								
									4065387159
								
							
						
					
					
						commit
						a847ea1b3b
					
				| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					config = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- The user one expects to log in as
 | 
				
			||||||
 | 
					    user = "@alice:example.org",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- The URL where the user communicates with the Matrix homeserver
 | 
				
			||||||
 | 
					    url = "https://matrix.example.org",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- Room ID that the Minetest server bridges to
 | 
				
			||||||
 | 
					    room_id = "!room_id:example.org",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- Access token to access the Matrix homeserver
 | 
				
			||||||
 | 
					    access_token = "",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- Average timeout duration
 | 
				
			||||||
 | 
					    sync_timeout = 30
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local function verify(key, expected_type, default_value)
 | 
				
			||||||
 | 
					    if config == nil then
 | 
				
			||||||
 | 
					        error("There is no config variable available!")
 | 
				
			||||||
 | 
					    elseif config[key] == nil then
 | 
				
			||||||
 | 
					        error("Config key " .. key .. " has not been set!")
 | 
				
			||||||
 | 
					    elseif type(config[key]) ~= expected_type then
 | 
				
			||||||
 | 
					        error(
 | 
				
			||||||
 | 
					            "Expected config key " .. key .. " to be of type " ..
 | 
				
			||||||
 | 
					            expected_type .. " but found type " .. type(config[key])
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    elseif config[key] == default_value then
 | 
				
			||||||
 | 
					        error(
 | 
				
			||||||
 | 
					            "Config key " .. key .. " is still the default (example) value. " ..
 | 
				
			||||||
 | 
					            "This implies that you have not configured it yet."
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					verify("user", "string", "@alice:example.org")
 | 
				
			||||||
 | 
					verify("url", "string", "https://matrix.example.org")
 | 
				
			||||||
 | 
					verify("room_id", "string", "!room_id:example.org")
 | 
				
			||||||
 | 
					verify("access_token", "string", "")
 | 
				
			||||||
 | 
					verify("sync_timeout", "number", nil)
 | 
				
			||||||
		Loading…
	
		Reference in New Issue