Don't try parsing the current list yet. If it's empty, the substring will return an outofbounds exception (length is 0, so String.substring(0,-1) will fail)
Turn TLD regex to lowercase
More sendDebugs!
Replace isLong(...) with get(...) == null. isLong seems to return false (maybe it thinks of it as an int?)
Don't send message in stealth mode