local aka = ak_announcer

if aka.chat == nil then
	aka.chat = {}
end

function aka.chat.upcoming_aks(name)
	local player = minetest.get_player_by_name(name)
	if player == nil then
		return false
	end

	local now = os.time() - aka.my_offset
	local tenminsago = now - 60*10
	local inonehour = now + 60*60
	minetest.log("info", "[AK-Announcer] "..name..": looking for AKs starting between "..aka.pretty_time(tenminsago).." and "..aka.pretty_time(inonehour))

	local aks = aka.compile_range(tenminsago, inonehour)
	local out = aka.typeset(aks)
	if #out == 0 then
		out = "Keine anstehenden AKs.  ("..aka.pretty_time(now)..")"
	end

	minetest.chat_send_player(name, out)
end

function aka.chat.set_offset(name, param)
	local parsed = aka.parseDateTimeToLocal(param)
	if parsed ~= nil then
		aka.my_offset = os.time() - parsed
		minetest.chat_send_player(name, "It is now "..aka.pretty_time(os.time() - aka.my_offset))
	else
		minetest.chat_send_player(name, "Could not parse offset!")
	end
end

minetest.register_chatcommand("upcoming_aks", {
	description = "Anstehende AKs.",
	func = aka.chat.upcoming_aks,
})

--[[minetest.register_chatcommand("set_offset", {
	description = "Set offset.",
	func = aka.chat.set_offset,
})]]--