置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:Sandbox/实验性:无用论废人/test

贴贴♀百科,万娘皆可贴的百科全书!转载请标注来源页面的网页链接,并声明引自贴贴百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [创建] [刷新]
local module = {}

local getArgs = require('Module:Arguments').getArgs

function module._main(args, frame)
    local input = args[1] or ''
    local isColor = string.sub(input, 1, 1) == '#'
    local mtr = ''
    local defaultColor = '#333333'
    local defaultSinger = '未知歌手'
    local colors = {
        {'#f7e8bd','LEON'},
        {'#7d0552','LOLA'},
        {'#516b82','MIRIAM'},
        {'#d80000','MEIKO'},
        {'#0000ff','KAITO'},
        {'#ffe391','Sweet Ann'},
        {'#39C5BB','初音未来','初音miku','初音ミク','miku','Hatsune Miku','初音','弱音白','初音未來'},
        {'#ff8800','镜音铃','鏡音リン','Kagamine Rin','镜音rin','鏡音鈴'},
        {'#fff000','镜音连','鏡音レン','Kagamine Len','镜音len','鏡音連'},
        {'#b92e66','Prima'},
        {'#ffb6c1','巡音流歌','巡音ルカ','巡音luka','Megurine Luka'},
        {'#9900ff','神威乐步','Gackpoid','神威がくぽ'},
        {'#ccff00','GUMI','Megpoid'},
        {'#243d33','SONiKA'},
        {'#1d1f2f','冰山清辉','氷山キヨテル','Hiyama Kiyoteru'},
        {'#f811de','歌爱雪','歌爱YUKI','歌愛ユキ'},
        {'#ff7070','miki'},
        {'#d40000','BIG AL'},
        {'#ffcc00','Lily'},
        {'#3c0036','VY1','MIZKI'},
        {'#0c9a06','Gachapoid','ガチャッポイド'},
        {'#fc79a7','猫村伊吕波','猫村いろは'},
        {'#4acdbf','歌手音Piko','歌手音ピコ','歌手音'},
        {'#4d0000','VY2','Yuuma'},
        {'#5481de','Akikoloid酱','あきこロイドちゃん'},
        {'#221815','Mew'},
        {'#ffae35','SeeU'},
        {'#f4a89d','兔眠莉音','兎眠りおん'},
        {'#f3e7bf','Oliver'},
        {'#d41a1f','CUL','Culnoza'},
        {'#800080','结月缘','結月ゆかり','Yuzuki Yukari'},
        {'#587078','Clara'},
        {'#bf4e43','Bruno'},
        {'#f5eded','IA'},
        {'#5bd1d5','苍姬拉碧斯','蒼姫ラピス','Aoki Lapis'},
        {'#66ccff','洛天依'},
        {'#fae6fa','Galaco','ギャラ子'},
        {'#e452a7','MAYU'},
        {'#eee8aa','AVANNA'},
        {'#224267','KYO'},
        {'#2a221f','WIL'},
        {'#d7b3cf','YUU'},
        {'#00ffcc','言和'},
        {'#f6e9bd','YOHIOloid'},
        {'#77c6ec','MAIKA'},
        {'#fbb7a4','kokone'},
        {'#ffc369','杏音','あのん'},
        {'#ffc370','鸟音','かのん'},
        {'#996699','V flower','Ci flower','flower'},
        {'#1c3a46','东北俊子','东北ずん子','ずん子'},
        {'#dd315d','Rana'},
        {'#fff0fb','Chika'},
        {'#ee82ee','心华','心華'},
        {'#ee0000','乐正绫'},
        {'#bc255a','Sachiko','幸子'},
        {'#d86756','Ruby'},
        {'#0764b0','DAINA'},
        {'#d9deec','DEX'},
        {'#ff0033','Fukase'},
        {'#9999ff','星尘','星尘stardust'},
        {'#0000aa','音街鳗','音街ウナ'},
        {'#f56c98','UNI'},
        {'#006666','乐正龙牙'},
        {'#f8fdff','LUMi'},
        {'#ffba70','绁星灯','紲星あかり'},
        {'#0080ff','徵羽摩柯'},
        {'#ffff00','墨清弦'},
        {'#ffe9d8','樱乃空','桜乃そら'},
        {'#f0b4bc','鸣花姬','鳴花ヒメ'},
        {'#afafef','鸣花尊','鳴花ミコト'},
        {'#739330','Po-uta'},
        {'#ffffff','战音Lorra'},
        {'#acd291','Ken'},
        {'#36015a','呗音Uta','唄音ウタ','Defo子','デフォ子','默认子'},
        {'#d93a49','重音Teto','重音テト','teto'},
        {'#ff9fcf','桃音Momo','桃音モモ'},
        {'#000080','欲音Ruko','欲音ルコ'},
        {'#ff2d51','波音律','波音リツ'},
        {'#ff8080','健音帝','健音テイ'},
        {'#f2f2f2','雪歌Yufu','雪歌ユフ'},
        {'#74bc9f','实谷Nana','実谷ナナ'},
        {'#d2e9a4','渗音Kakoi','滲音かこい'},
        {'#99669a','爱野Hate','愛野ハテ'},
        {'#deb887','白钟Hiyori','白鐘ヒヨリ','白音Hiyori'},
        {'#fb73ca','春歌Nana','春歌ナナ'},
        {'#ffc0cb','樱歌Miko','櫻歌ミコ'},
        {'#ffa500','海歌Shin','海歌シン'},
        {'#ef6c00','空音Rana','空音ラナ'},
        {'#ec66ff','破坏音Maiko'},
        {'#07c7cf','松田Ppoiyo'},
        {'#4169e1','薪宫风季','薪宮風季'},
        {'#dc143c','椎音Ama'},
        {'#cc0000','朱音稻荷'},
        {'#e20000','彼音Izumu'},
        {'#fbcca7','飴音Wamea'},
        {'#008080','雨歌Eru'},
        {'#eb8938','廻音Shuu'},
        {'#b060bc','暗音Renri','闇音レンリ'},
        {'#9773bf','歌幡Meiji'},
        {'#d8b69e','暗鸣Nyui'},
        {'#ff7405','戏白Merry'},
        {'#edae2f','逆音Cecil'},
        {'#526b65','夕歌Yuuma','夕歌ユウマ'},
        {'#dceedb','Number Bronze'},
        {'#e1e6f9','东北伊达子','東北イタコ','イタコ'},
        {'#7f3d61','东北切蒲英','東北きりたん','きりたん'},
        {'#573a2b','小感冒','Kazehiki','カゼヒキ'},
        {'#68483b','剧药','Gekiyaku','ゲキヤク'},
        {'#008e94','旭音Ema'},
        {'#ed8d2d','足立零','足立レイ','足立Rei'},
        {'#EE204D','油库里','ゆっくり','Yukkuri'},
        {'#ffeff2','佐藤莎莎拉','さとうささら'},
        {'#7a80a4','铃木梓梓弥','すずきつづみ'},
        {'#f5eeaf','ONE'},
        {'#4d79ff','可不','kafu'},
        {'#7933ff','星界','SEKAI'},
        {'#f1971c','知声','Chis-A'},
        {'#e51500','里命','RIME','裏命'},
        {'#fa006e','POPY'},
        {'#5050d2','ROSE'},
        {'#cde6f2','狐子','COKO'},
        {'#3cd705','羽累','HARU'},
        {'#cb8773','月读爱'},
        {'#ffe791','弦卷真纪','弦巻マキ','Tsurumaki Maki'},
        {'#ffc0c0','琴叶茜','琴葉茜'},
        {'#e1f0f7','琴叶葵','琴葉葵'},
        {'#6fba44','京町精华','京町セイカ'},
        {'#f4c3d7','追傩酱','ついなちゃん'},
        {'#613c8a','永夜Minus','Minus'},
        {'#aca8b2','小春六花'},
        {'#a6727f','夏色花梨'},
        {'#a1d6b7','花隈千冬'},
        {'#ed6772','Mai'},
        {'#cc164b','奕夕'},
        {'#84d0d0','绮萱'},
        {'#c8a672','栗田栗子','栗田まろん'},
        {'#a8f877','俊达萌','ずんだもん'},
        {'#e5f5fe','whiteCUL'},
        {'#d8bc9c','NurseRobot TypeT','ナースロボ_タイプT','NurseRobot_TypeT','ナースロボ タイプT'},
        {'#f6be71','诗岸'},
        {'#689e93','Calogado','カロガド'},
        {'#7fd2da','Nedjem'},
        {'#404040','松哗Risk'},
        {'#DF4C94','四国玫碳','四国めたん'},
        {'#DD5270','未抒'},
        {'#F29102','岸晓'},
        {'#902126','从铮'},
        {'#FC8AA8','小夜'},
        {'#3B5183','牧心'},
        {'#EB6238','Ryo'},
        {'#FF0000','东方栀子'},
        {'#72A6C0','宫舞茉歌','宮舞モカ'},
        {'#EDAEDB','Eri'},
        {'#33CCCC','夏语遥'},
        {'#FDAF12','SOLARIA'},
        {'#FF3C8E','POYOROID'},
        {'#917BA9','Merrow','めろう'},
        {'#FBB5A6','韵泉'},
        {'#FFE4D0','铃爱莉'},
        {'#9CA471','Fιφne','fifne'},
        {'#FBCA4D','春日部䌷','春日部つむぎ','春日部紬','つむぎ'},
        {'#B7D26D','Kevin'},
        {'#1347AA','箱庭Hano','箱庭ハノ'},
        {'#11984B','箱庭Koto','箱庭コト'},
        {'#28c4ec','雨晴Hau','雨晴はう'},
        {'#50966A','玄野武宏'},
        {'#C2ED55','白上虎太郎'},
        {'#4862D3','青山龙星'},
        {'#877ADD','冥鸣Himari','冥鳴ひまり'},
        {'#7F4DBA','九州宇宙'},
        {'#575855','模型娘饼子'},
        {'#BBBFE5','剑崎雌雄'},
        {'#2185DA','后鬼'},
        {'#E1E9F6','No.7'},
        {'#A6CFF9','小式爷','ちび式じい'},
        {'#F16152','†圣骑士 红樱†','†聖騎士 紅桜†'},
        {'#E3D35A','麒岛宗麟','麒ヶ岛宗麟'},
        {'#E3706B','雀松朱司'},
        {'#FFC0CB','春歌Nana'},
        {'#FC4E32','中国兔'},
        {'#EE7B2B','IL碳'},
        {'#E6F5B0','满别花丸'},
        {'#FB8028','琴咏nia'},
        {'#3F0807','葛駄夜音'},
        {'#FF6600','嫣汐'},
        {'#9BCEDF','未央'},
        {'#FF7799','幻晓伊'},
        {'#FF359A','琪亚娜·卡斯兰娜'},
        {'#FDD000','艾可'},
        {'#FF4004','赤羽'},
        {'#ECEAFF','Infinity','星尘Infinity'},
        {'#0187CA','青溯'},
        {'#965367','Saki'},
        {'#ECEBF0','爱莲娜·芙缇'},
        {'#A2A2A2','Koronba4号','ころんば4号'},
        {'#264A9C','默辰'},
        {'#9DE0EC','沨漪'},
        {'#E7D03D','Yuma'},
        {'#D23632','Weina'},
        {'#7369F9','ASTERIAN'},
        {'#7583B6','煊宇'},
        {'#c1c5cb','SAROS'},
        {'#bde43d','林籁'},
        {'#eea16b','Hayden'},
        {'#FFB600','江上曜'},
        {'#6E46A9','何畅'},
        {'#95E5FF','蔷芜'},
        {'#C85129','陈水若'},
        {'#753E25','华智冰'},
        {'#3C00EE','艾尔法'},
        {'#9076BD','狐狸座'},
        {'#4F3E7D','水木林森'},
        {'#303B5C','陈子渝'},
        {'#DC4568','火涟'},
        {'#072A63','楚瓷'},
        {'#60B0D9','鲤沅'},
        {'#FEE384','嗒啦啦'},
        {'#D50000','雀河'},
        {'#363434','小莫'},
        {'#F1EDD7','文栗'},
        {'#CE2E2E','长歌'},
        {'#94FFF6','鸾明'},
        {'#B31313','荼鸢'},
        {'#CDAE44','伊拾七'},
        {'#292365','Opencpop'},
        {'#2A2A44','雨令·令雨'},
        {'#D0C0E5','霁何虹'},
        {'#EC0000','泠鸢yousa'},
        {'#DF310A','谣子'},
        {'#B9261A','琴歌'},
        {'#E3E3E3','BONES'},
        {'#95BEF2','Daisy'},
        {'#C34C44','Marie Ork'},
        {'#488846','阿久女Iku'},
        {'#EC808D','甚三'},
        {'#698DCD','气球音Aiko'},
        {'#32144E','渡瀬Maki'},
        {'#510051','佐村Tomi'},
        {'#FF8D3B','Daring'},
        {'#CFE2A1','Mac音奈奈'},
        {'#7C4B00','枝野裕男'},
        {'#4E8BF4','谷歌翻译娘','谷歌','GOOGLE','Google Translate'},
        {'#FF0108','莲华'},
        {'#36339E','荞安'},
        {'#DB3E41','奥斯卡'},
        {'#744F3C','叁琏'},
        {'#000000','新葛平','葛平'},
        {'#FFCC01','金坷垃'},
        {'#AFDFE4','33娘'},
        {'#996B1F','元首'},
        {'#D2895E','矶子Hata'},
        {'#FF0099','起礼'},
        {'#99FF00','起复'},
        {'#3399FF','海伊'},
        {'#8BC0B5','苍穹'},
        {'#8DDEF1','云灏'},
        {'#C37B3C','姬骑士Riyona'},
        {'#FF6D89','器用音Suzu'},
        {'#936D67','松尾Tsubasa'},
        {'#FF7024','猫木Minata'},
        {'#373836','理维子'},
        {'#95302E','宙暮'},
        {'#ECEBE1','某医生'},
        {'#81A9F1','雲宇光'},
        {'#FF6666','挚彬'},
        {'#FFDCB5','雨鸟Yui'},
        {'#D45353','电压空'},
        {'#FFB33C','MUSE'},
        {'#5D5955','踊跃Ask'},
        {'#CBF4FA','水音Laru'},
        {'#A72A2A','黒昴宿'},
        {'#B3353F','Perfect Paul'},
        {'#3C957C','影音Himeka'},
        {'#C5705A','色音Hiro'},
        {'#FF8580','透音Ariku'},
        {'#777777','合唱或真人','合唱','真人'}

    }
    local UpperInput = string.upper(input)
    if isColor and string.len(UpperInput) == 7 then
        for _, entry in ipairs(colors) do
            if UpperInput == string.upper(entry[1]) then
                return entry[2] 
            end
        end
        return defaultSinger
    else
        for _, entry in ipairs(colors) do
            local vocal = {}
            for i = 2, #entry do
                table.insert(vocal, string.upper(entry[i]))
            end

            if arrayContains(vocal, UpperInput) then
                return string.upper(entry[1])
            end
        end
        return defaultColor
    end

    return mtr
end

function arrayContains(table, element)
    for _, value in ipairs(table) do
        if string.upper(value) == element then
            return true
        end
    end
    return false
end

function module.main(frame)
    local args = getArgs(frame)
    return module._main(args, frame)
end

return module