Module:Upcoming Birthdays: Difference between revisions

From NOISZ Wiki
mNo edit summary
mNo edit summary
Line 30: Line 30:
local birthdayUpcoming = {}
local birthdayUpcoming = {}
for k, v in pairs(birthdays) do
for k, v in pairs(birthdays) do
if v[2] > 0 and #birthdayUpcoming < 3 then  
if v[2] > 0 and #birthdayUpcoming < 3 and v[2] < 2592000 then  
table.insert(birthdayUpcoming,v)
table.insert(birthdayUpcoming,v)
end
end

Revision as of 12:08, 29 September 2025

Documentation for this module may be created at Module:Upcoming Birthdays/doc

local capiunto = require 'capiunto'
local lang = mw.language.getContentLanguage()
local currentYear = lang:formatDate("Y")
local currentDay = os.time()

local p = {}

local function sortBirthdays( a, b )
    return a[2] < b[2] and b[2] > 0;
end


function p.main()

	birthdays = {}
	birthdays[1] = {'Hikari Aoki',os.difftime(os.time{year=currentYear,month=01,day=22},currentDay)}
	birthdays[2] = {'Sera Hoshikawa',os.difftime(os.time{year=currentYear,month=03,day=14},currentDay)} 
	birthdays[3] = {'Grace Kamenashi',os.difftime(os.time{year=currentYear,month=04,day=01},currentDay)}
	birthdays[4] = {'Arietta Antiphon',os.difftime(os.time{year=currentYear,month=06,day=18},currentDay)}
	birthdays[5] = {'Joker',os.difftime(os.time{year=currentYear,month=06,day=18},currentDay)}
	birthdays[6] = {'Asuka Fujita',os.difftime(os.time{year=currentYear,month=07,day=30},currentDay)}
	birthdays[7] = {'Sumire Hitori',os.difftime(os.time{year=currentYear,month=09,day=09},currentDay)}
	birthdays[8] = {'Hitori',os.difftime(os.time{year=currentYear,month=09,day=09},currentDay)}
	birthdays[9] = {'Hakuno Nekoda',os.difftime(os.time{year=currentYear,month=12,day=25},currentDay)}
	birthdays[10] = {'Shion Nekoda',os.difftime(os.time{year=currentYear,month=12,day=29},currentDay)}
	birthdays[11] = {'Hikari Aoki',os.difftime(os.time{year=currentYear+1,month=01,day=22},currentDay)}
	birthdays[12] = {'Sera Hoshikawa',os.difftime(os.time{year=currentYear+1,month=03,day=14},currentDay)}
	birthdays[13] = {'Grace Kamenashi',os.difftime(os.time{year=currentYear+1,month=04,day=01},currentDay)}
	table.sort(birthdays, sortBirthdays)
	local birthdayUpcoming = {}
	for k, v in pairs(birthdays) do
		if v[2] > 0 and #birthdayUpcoming < 3 and v[2] < 2592000 then 
			table.insert(birthdayUpcoming,v)
		end
	end
	
	return mw.dumpObject(birthdayUpcoming)
end
return p