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