It would be great if there could be an easy way to find out your own 'true' $fulladdress in all situations while connected to a $network.

It could either be a new identifier $myfulladdress, or else to have $ial($me) or $ial.self always return your own nick!userid@hostname even if /ial is off or empty, whether inside an event, or in a timer, or from the editbox, etc. I guess there are non-backwards-compatible situations where actually keeping yourself as $ial(*,1) while not in any channels could be confusing to scripts.

If it's considered to be a problem to return a non-blank result from $ial($me) while $ial(*,0) is zero, a compromise might be to have something like $+(1,$me) recognized as a special string which returns the self full address, since a nick beginning with an integer should only be possible from the fake nick created by a server to prevent a nick collision.

A few of the situations where this would be useful include:

* If you are in no channels, the $ial is empty, so $ial($me) is also blank, so it's not easy to determine what your full address is from everyone else's view. If someone opens a query window while you're not in a channel, the $ial($me) is still blank, so you know their current $fulladdress but not your own. If you open a query while not in a channel, they know your own $fulladdress but you don't.

* same goes after issuing /ialclear while you are in channels, where $ial($me) is blank until you 'do something' or wait for the //who $me reply

* if waiting for your vhost/cloak to be applied on top of your @hostname before joining channel(s)

--

The current method to find out if your vhost/cloak is enabled before joining channels requires correctly parsing an incoming message from nickserv, hostserv, etc to identify exactly what your $fulladdress is supposed to be. This is different for networks who don't have nickserv, and there might even be variations among networks which do have nickserv. Or, just trust that a message from hostserv/nickerv is telling you that your vhost/cloak is being turned on.

Or, the alternative is to keep pinging yourself at short intervals until the $fulladdress for the pinging ($nick == $me) changes to what it should be.

Just because I'm configured for SASL doesn't mean I'm already identified to nickserv with my cloak on, as they still let someone connect if the SASL certificate's fingerprint isn't on file, or if the wrong SASL PLAIN password is given.

--

Trying to script the above can be complicated, where there are a variety of events, raw or not, to indicate that all or part of your nick!userid@host assigned by the server has changed. And all it takes is for a future ircd change or non-compliant server and your script is wrongo because it missed something.