Regarding the $ialmsg, how exactly should it be? If it's going to contain only the nicks that have opened a query window with you AND are on a common channel with you, I wouldn't mind. However, I'm not sure whether it should be added for all nicks that have a query window (regardless of whether they share a common channel with you), since the integrity of this list would be in danger. You can be sure about $ial, $ialchan and even $ibl's integrity because there is no way that a user would change their address (or be banned/unbanned) without letting you know (by the QUIT or the MODE message respectively, which are only sent when you share a common channel with the nick). If a nick stored in $ialmsg's list does not share a common channel with you and they quit and then reconnect with a different address, $ialmsg(<nick>) would hold the old address. There is a $query().addr identifier, which returns the address of the nick, but the help file warns you that it might not always be correct.