モジュール:TikTok

提供:エケペディア
2022年4月26日 (火) 00:44時点におけるSoftyu (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

このモジュールについての説明文ページを モジュール:TikTok/doc に作成できます

local p = {};

local function setProperty(dataStore)
	
	-- メイン空間のみ
	if not mw.title.getCurrentTitle().namespace == 0 then
		return true;
	end
	
	if not mw.smw then
        return true;
    end

    local result = mw.smw.set( dataStore )

    if result == true then
        -- everything ok
    else
        -- error message to be found in result.error
    end
end	
	

function p.main( frame )
	local args = require( 'Module:Arguments' ).getArgs( frame, { wrappers = 'Template:TikTok', removeBlanks = false, parentFirst = true });

	-- TikTok ID
	local tk_name = args[1] or args.id or '';
	
	-- TikTok URL
	local formatterURL = "https://www.tiktok.com/@$1";
	local url = mw.ustring.gsub(formatterURL, "\$1", tk_name);
	
	-- TikTok 表示名
	local name = args[2] or args.name or '';

	-- TikTok 認証
	local verify = args[3] or args.verify or '';
    local v_veryfy = '';
	if verify == '' then
		verify = 'false';
         v_veryfy = '';
	else
		verify ='true';
		v_veryfy = '[[ファイル:認証バッジ.png|15px|link=]]';
	end
   
	-- TikTok 表示名デフォルト
	if name == '' then
		name = mw.ustring.gsub(mw.title.getCurrentTitle().text,"%s+%b()$","");
	end

	-- SemanticMediaWiki
    local dataStore = {}
    dataStore['TikTok'] = '' .. tk_name .. ';'..verify .. ';'..name

	if not args.nosmw then
		setProperty(dataStore);
	end

	local tk_name2 = '(@' .. tk_name  ..')';
	if mw.ustring.match(name, '%(' .. tk_name .. '%)$') then
		tk_name2 = '';
	end

	return '[' ..url ..' ' ..name ..'] ' ..tk_name2  ..v_veryfy..' - [[TikTok]]';
end

return p;