You're wrong, which is ok, it's not a crime to make a mistake, though I don't like it when people say I'm wrong without investigating the matter thoroughly. I wouldn't put it like that if it weren't for a reason.

Try this code in your script files:

on me:join:#: echo -a i've joined

Now do a /hop or join a channel --> nothing happens.

Put it as:

on me:*:join:#: echo -a i've joined

Now do a /hop and it will say you've joined.

The me as I've used it, and as Sat has explained is an event prefix just like +, @, ! etc., it's not a user level.