There was a missing parenthesis. Here is a corrected version:
Code:
local WAIT_TIME = 10
local f = CreateFrame("Frame")
f:Hide()
f:SetScript("OnEvent", function(self, event)
if GetNumRaidMembers() > 0 then
self:UnregisterAllEvents()
elseif GetNumPartyMembers() > 0 then
ConvertToRaid()
end
end)
local delay = 0
f:SetScript("OnUpdate", function(self, elapsed)
delay = delay + elapsed
if delay < WAIT_TIME then
return
end
if GetNumRaidMembers() == 0 then
self:RegisterEvent("RAID_ROSTER_UPDATE")
if GetNumPartyMembers() == 0 then
self:RegisterEvent("PARTY_MEMBERS_CHANGED")
else
ConvertToRaid()
end
end
for i = 1, GetNumGuildMembers() do
local name, _, _, level, _, _, _, _, online = GetGuildRosterInfo(i)
if online and (level >= 70 and level <= 80) then
InviteUnit(name)
end
end
delay = 0
self:Hide()
end)
SLASH_RAIDINVITE1 = "/rinv"
SLASH_RAIDINVITE2 = "/raidinvite"
SlashCmdList["RAIDINVITE"] = function(msg, editbox)
if msg == "" then
return print("|cffffff00Usage:|r /rinv |cff66ffff10|r |cffff99ffRaid invites coming in 10 seconds!|r")
end
local wait, text = msg:trim():match("^(%d+) (.+)$")
wait = tonumber(wait)
if wait and wait > 0 then
WAIT_TIME = wait
else
WAIT_TIME = 10
end
SendChatMessage(text or msg, "GUILD")
f:Show()
end
As I'm not in a guild, I can't completely test it, but the slash command with no arguments outputs the help line as expected, and there are no syntax errors.
Also, for future reference, when testing code, or trying to figure out why an addon isn't working right, you should install BugSack or a similar error catching tool so you can see any Lua errors that are occurring. Just enabling Lua errors in the Blizzard interface options isn't enough, because that won't show you errors that occur during the initial loading sequence (like those caused by missing parentheses).