1] There is a way to add macro conditionals to a bit of Lua, and that is through the SecureCmdOptionParse function. I've only used it once, so I don't know that I could provide much insight, but
here is the WoWWiki link.
2] You can check for the existence of a unit in two ways: through the UnitExists() function, or by checking that your variable exists. For example,
UnitName("focus") doesn't return anything if the unit doesn't exist, and as such can be used as a sort of conditional.
Lua Code:
if UnitName("focus") then
-- Unit exists, do stuff.
end
Edit: Here is what I came up. I've got to be off soon, so I didn't have time to login to WoW to test it, but all I did was add a check for the existence of "n" to merit continuing, and I added your realm check logic to later in the macro. Should be sub 255. Let me know if it works!
Lua Code:
/run local n, r = UnitName("focus") if n then SendChatMessage("followme", "WHISPER", nil, n..(r and "-"..r or "")) end
Edit 2: Just kidding, guys get ready in 40 seconds. I tested without a focus, with me as the focus, and with someone cross-realm as the focus, and it worked every time. Enjoy!