GetSlashFunc

Returns the function called when using /cmd.
 slashFunction = (cmd)
== Function Parameters ==
=== Arguments ===
:(cmd)
:;cmd : the slash command to search for
=== Returns ===
:the actual function called when executing the cmd.
== Example ==
local func = GetSlashFunc("/quit")
SLASH_MYQUIT1 = "/quit"
SLASH_MYQUIT2 = "/exit"
SlashCmdList["MYQUIT"] = function(msg)
 if msg == "now" then
 ForceQuit()
 elseif func then
 func()
 end
end
==Result==
: Quit now instead of in 30 seconds when /quit now is used.
==Code==
 -- returns a slash command function on success or an informative error function on failure.
 local function GetSlashFunc(cmd)
 if not cmd then
 return function(cmd) print("You must supply a command.") end
 end
 if cmd:sub(1, 1) ~= "/" then
 cmd = "/" .. cmd
 end
 for id, val in pairs(_G) do
 if id:sub(1, 5) == "SLASH" and val == cmd then
 local slashID = id:match("SLASH_(%a*)%d*")
 return SlashCmdList[slashID]
 end
 end
 -- Didn't find one?
 return function(cmd) print(cmd, "doesn't exist.") end
 end
== Notes ==
* This will not work to hook secure commands such as /target, /cast, /focus, etc. The functions that are called with those commands are not globally accessible to addon scripts and, if they were, you would just end up breaking stuff.
* If an addon creates its slash command after yours, yours will no longer work (as per usual).
__NOTOC__