Module:SlabStuff

From IdleOn MMO Wiki
Revision as of 09:51, 7 April 2023 by Kiokurashi (talk | contribs)

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

local slab = {}
local cargo = mw.ext.cargo

local function explode(list, delimiter)
    if delimiter == nil then
		delimiter = "%s"
	end
	t = {}
	for str in string.gmatch(list, "([^" .. delimiter .. "]+)") do
		table.insert(t, str)
	end
	return t
end

function slab.slabOrderList(frame) 
	local bigList = frame.args.OrderList
	local tableList = explode(bigList, ',')
	local ret = ''
	for i = 1, #tableList do
		frame:expandTemplate{ title = 'SlabOrder/store', args = { Item = tableList[i], Number = i } }
	end
	
	return ret
end

function slab.SlabNumGrab(frame)
	local item = frame.args.Item
	local tables = 'SlabOrder'
    local fields = 'Number'
    local args = {
        where = 'SlabOrder.Item="'.. item ..'"',
		orderBy = 'SlabOrder.Number',
		default = ''
    }
    local results = cargo.query( tables, fields, args )
    if #results == 0 then return '' end -- if no results, return original string and continue.
    mw.ext.VariablesLua.vardefine('SlabNum', results[1].Number)
    return ''
end

function slab.slabOrderListExt(frame)
	local https = require 'ssl.https'
	local r, c, h, s = https.request{
    	url = "https://raw.githubusercontent.com/BigCoight/IdleonWikiBot3.0/master/exported/wikitext/SlabItemSortRepo/SlabItemSortRepo.txt",
    	sink = ltn12.sink.table(resp),
    	protocol = "tlsv1"
	}
	-- https://raw.githubusercontent.com/BigCoight/IdleonWikiBot3.0/master/exported/wikitext/SlabItemSortRepo/SlabItemSortRepo.txt
	local str = ''
	return r
end

return slab