WoW:USERAPI SlashCmdList AddSlashCommand

Revision as of 04:45, 31 January 2008 by WoWWiki>Egingell (New page: {{userfunc}} <!-- Leave this line in! --> Returns the scaled position of the cursor. SlashCmdList_AddSlashCommand(name, func, ...) == Function Parameters == === Arguments === ;name : Un...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This page documents a <i>user-defined function</i> that you can copy and paste into your addon. Replace PREFIX with your addon or lib prefix to avoid conflicts between different versions of these functions.

← User defined functions

Add slash commands.

SlashCmdList_AddSlashCommand(name, func, ...)

Function Parameters

Arguments

name
Unique itentifier (e.g. MYADDON_SLASHCMD)
func
The function (variable or actual function)
...
A list of commands with or without the leading slash

Returns

nil

Example

The following snipits do the same thing.

SlashCmdList_AddSlashCommand('MYADDON_SLASHCMD', function(msg)
    DEFAULT_CHAT_FRAME:AddMessage(msg or 'nil')
end, 'myaddon', 'ma')
SlashCmdList['MYADDON_SLASHCMD'] = function(msg)
    DEFAULT_CHAT_FRAME:AddMessage(msg or 'nil')
end
SLASH_MYADDON_SLASHCMD1 = '/myaddon'
SLASH_MYADDON_SLASHCMD2 = '/ma'

Code

function SlashCmdList_AddSlashCommand(name, func, ...)
    SlashCmdList[name] = func
    local command = ''
    for i = 1, select('#', ...) do
        command = select(i, ...)
        if strsub(command, 1, 1) ~= '/' then
            command = '/' .. command
        end
        _G['SLASH_'..name..i] = command
    end
end