Introducing Angry_RaidInviter
What does a programmer do when he has to do a repetetive, annoying task that’s quite time-consuming? The answer is simple – he writes his own little tool to do the work for him.
That’s exactly how angry_RaidInviter started.
Back in the middle of the summer, I’ve started leading our 10-man raids more, and with that I got a few additional annoyances – inviting 9 other people, making it a raid group of a right size, not forgetting to turn master looter on… At the same time I’ve seen our guild master having exactly the same issues with leading our 25-mans, but on a larger scale. Especially figuring out who are we missing, by manually comparing the phpRaider approvals with the actual raid, was a pain in the ass. Fortunately we can use addons… if only there would be one like that. Well now there is. :]
First thing you need to know about writing addons is of course a knowledge of Lua, or at least some sort of scripting language. As I come from writing stuff in Perl, PHP and Ruby, Lua was not really a problem. After all, once you learn to code, you can pick up any language pretty fast, as the basics are mostly the same everywhere. And if needed, Lua has a nice resource in form of Lua 5.1 Reference Manual, as well as quite a lot of WoWWiki pages (Lua functions is a good place to start).
The real challenge here comes in form of Ace3 and it’s “documentation”. I use quote marks because all of the good information is very well hidden, and unfortunately the general type of help one can get from the Ace community seems to be “look how others do it”. Of course, there’s nothing wrong in looking at existing code and figuring out how it works from that, but it’s not really something a completely new person wants to see. In the end, I had to do it anyway – figuring out how to properly do the options panel for example was one such thing. The documentation for AceConfig only has one most basic example, so I’ve looked through quite a few addons to see how they do it.
Of course I don’t mean that the Ace3 set of libraries is not helpful – even with the annoyances, it’s much easier to use it instead of doing it all by yourself.
In the end, the month I’ve spent on making was quite fun, even if it will be ever only useful to me and my guild master. Of course, there is a good chance it can be useful for someone else, which is the reason why I’ve uploaded it to WoWInterface for all to download.
