Firstly: you removed the declaration of ```e``` but are still using it. Is there a reason this isn't just ```return this.say(con, room, "The name must be less than 19 characters.";```?

Secondly, you wanted more of an explanation about my comment on your use of arg. I'll use an example command; someone has done ".tb talktakestime, 10" for a 10 minute ban.

Entering the function, we have ```arg === "talktakestime, 10"```. When you do ```var opts = arg.split(',');```, you end up with ```opts === ["talktakestime ", "10"]``` and ```arg === "talktakestime, 10"```. This means that when you do ```arg = toId(arg);``` and then use the new ```arg``` to check length, you're doing ```"talktakestime10".length > 18```, which is what I meant about "```arg``` contains the time as well as the name".

Doing ```arg.split(',');``` does nothing to the value of ```arg``` itself, which is where I think the confusion is coming from.