5
votes

I'm learning about wow addons and I would like to create a command that shows in chat "Hello World" when I typed "/cht". I checked http://wowwiki.wikia.com/wiki/Creating_a_slash_command but my code does not work.

My code:

SLASH_CHAT = "/cht"
SlashCmdList["CHAT"] = function(msg)
        print("Hello World!")
end

Do you have any idea why is not working?

Thanks in advance.

2
every single example on that page has a command like SLASH_<command_id><number>. like SLASH_HELLO1 for SlashCmdList["HELLO"]. do the examples from that page work for you? is it just your code that doesn't work (maybe due to that difference? you don't have a number after chat) - Piglet
I forgot to put the number, thank you! - Pablo Expósito
sometimes its better to modify a working example. you can change it until it stops working. so you instantly know that your last modification must be the problem. - Piglet

2 Answers

10
votes

You need to change your global from SLASH_CHAT to SLASH_CHAT1, yes it's really that simple.

3
votes

I've updated http://wowwiki.wikia.com/wiki/Creating_a_slash_command, fixing the examples and I added a simple starter example at the top with a condensed explanation of the mechanism and rules.

Some of the examples were unclear, but more importantly the actual rules for naming were fairly buried, which is where the OP was having issues.

The new top example reads:

SLASH_TEST1 = "/test1"
SLASH_TEST2 = "/addontest1"
SlashCmdList["TEST"] = function(msg)
   print("Hello World!")
end 

This was not totally your fault. :)


Before edit:

Same text as above basically, except I had misremembered and the code I used to spot check was complex and I misinterpreted it. I gave wrong information above on naming above (and edited the whole wiki article the same way). Both are fixed now. Comment below complaining was to the original answer I made here.