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)
if not msg or msg == "" then
return false
end
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