I don't actually have a fully functional bot under my belt so to speak but i have about 9000 halfway done ones....
Basically the same steps apply as for creating/programming anything, but it'l be easier by far if you don't have to learn/relearn programing in general as well. I was a total noob at everything apart from some pascal language features for example, now im only a total noob at most things :P. I built on my previous knowledge and learnt how to use delphi 7 (oldy but a goody), then went on to all the other things that i was totally ignorant of. I now know some c# and basic c++ as well but yehh not my faves, doesn't come naturally at all unfortunately :S.
My steps (see: im a noob, don't take as beallendall, ever)
1) Learn basic programming features of a language that you like (if in doubt i'd try c#, you can find a lot of code snippets to learn from, just dont ever just copy-paste and think youre leet- you will be harshly disabused...)
2) Now you can create basic programs (As in high school standard computing) learn about what is actually IN a bot. Check out the source codes of public bots, and look around for theory.
3) Realize you know nothing about anything, and it is going to take a LONG time to achieve your goals, but thats ok itl be fun along the way
4) Take a look at reversing as a whole, so you know what it is at least. This is what you refer to as "WoW Programming". Basically WoW is an executable that dem hackers decompile-figure out how the **** this shit works. From here they can do nifty shit such as running and getting the return values from lua commands, and find "Structs"(orsomeshit) such as the loaded wow objects, or global variables/Static pointers such as map string (see: cheatengine). Learn about how windows stores data. Learn WTF a pointer actually is, what a byte is, etc. Oh and learn what the hexadecimal number system is.
5) Again, realize that you know nothing. Start screwing around with memory reading from an executable in whatever language you are using (see: ReadProcessMemory). Don't try writing yet, unless its for an offline game. You may try to read from wow by using offsets in the memory editing section, they are hexadecimals and only a small number are static, most are offsets.
6) You need all of the above to get data from wow so any bot you DO make is not blind and deaf as well as rather dull. So write a program to get the players hp etc.
7) Learn how to Object Manager. Theres a great tut for this, the trick is getting the current offsets/figuring out Which One Goes Where. Also you will have to know about Object Orientated Programing by now or you are screewwwwwweeeedddd. Take a look at Seifer's black (something i forget) librey for the object manager, it is teh sex.

Make a WoWRadar app. Learn about updating offsets, ie find by mask or someshit (again i forget).
9) Release on MMOwned, itl make you feel like you are getting somewhere, yay!
10) Learn all about AI, because thats what your bot is going to be. Finite State Machines (FSM) or Hierarchical FSM (HFSM) are the most chosen varieties. Theres also scripts used occasionally and yer noone uses dem ahead planning ones (sense making fail, soz). Behavioral Trees get a special mention because they are sexy, but are complex. I actually got mine fully working though *cheers for self*.
11) Related to 10, learn pathfinding. You can basicly either A) make waypoints, or B) make your bot have a "target" position, and use A* (A star) pathfinding to find the quickest viable route there, using your interconnected mesh that you dumped from WoW/made manually (:O)
12) Figure out such shit as combat, as well as extra features such as chat detection. Might also want to trial each of the things you've learnt, it will mean that you actually HAVE learnt them, because it might be embarrassing if you cant get it to work later... im jus sayin :S
13) Profiles, how will the user be able to customize the bot, how will it work as a whole, form design.
14) Put all together, use a lot of duct tape and it should work *fingers crossed*
15) ????
16) PROFIT!!!
Yay for massive post cuz I was bored...