local addon_name = "Kaamelol" local frame_name = addon_name .. "Frame" local frame = CreateFrame("Frame", frame_name) local cmd_name = "/kaamelol" local cmd_name2 = "/kl" C_ChatInfo.RegisterAddonMessagePrefix(addon_name) frame:RegisterEvent("CHAT_MSG_ADDON") frame:SetScript("OnEvent", function(self, event_name, ...) return self[event_name](self, event_name, ...) end) function kaamelol_play(msg) root = "Interface/AddOns/" .. addon_name .. "/sounds/" path = root .. msg .. ".mp3" PlaySoundFile(path, "Master") return true end function kaamelol_broadcast(msg) if not msg or msg == "" then return false end chan, rest = strsplit(" ", msg, 2) if not rest then rest = chan chan = "GUILD" else chan = string.upper(chan) if chan == "WHISPER" then target, rest = strsplit(" ", rest, 2) else target = "" end end number = tonumber(rest) if number then rest = KAAMELOL_CONTENT[number]["FILE"] end C_ChatInfo.SendAddonMessage(addon_name, rest, chan, target); return true end function kaamelol_search(msg) print("\nresults:") for i, entry in ipairs(KAAMELOL_CONTENT) do local title = entry["TITLE"] local file = entry["FILE"] if string.find(string.upper(title), string.upper(msg)) then max_length = 256 if string.len(title) > max_length then title = string.sub(title, 1, max_length) .. '...' end print(i, ":", title) end end return true end function kaamelol_run_command(cmd, args) if cmd == "play" or cmd == "p" then return kaamelol_play(args) elseif cmd == "broad" or cmd == "b" then return kaamelol_broadcast(args) elseif cmd == "search" or cmd == "s" then return kaamelol_search(args) else return kaamelol_broadcast(cmd) end end SLASH_KAAMELOL1 = cmd_name SLASH_KAAMELOL2 = cmd_name2 SlashCmdList["KAAMELOL"] = function(msg) cmd, args = strsplit(" ", msg, 2) if not kaamelol_run_command(cmd, args) then print("Commandes de " .. addon_name .. " :") print("/kl s pas faux: recherche une citation à partir de l'extrait 'pas faux', pour retrouver son numéro") print("/kl 31: joue la citation numéro 31 à la guilde") print("Pour des commandes plus poussées, demandez à Eckter") end end function frame:CHAT_MSG_ADDON(event, prefix, msg) if prefix == addon_name then kaamelol_play(msg) end end