モジュール:TikTok
ナビゲーションに移動
検索に移動
このモジュールについての説明文ページを モジュール: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;