This is not necessarily a bug. Although the character is not explicitly marked in the RFC, it's typically recommended to encode any special characters like "|" to avoid parsing issues:
http://www.blooberry.com/indexdot/html/topics/urlencoding.htmhttps://tools.ietf.org/html/rfc3986Specifically, in the context of IRC, it's pretty common to use characters like [] or || as boundaries to text, so you could easily have something like:
[12:00] <username> Welcome to #chan [web: http://example.org/welcome]
or
[12:00] <username> Welcome to #chan |web: http://example.org/welcome|
With this in mind, it makes sense for mIRC to ignore these non-alpha chars unless encoded. The RFC agrees with this general implementation:
A URI is composed from a limited set of characters consisting of digits, letters, and a few graphic symbols.
The "|" character is not part of those "few graphic symbols".
And if you don't like mIRC's algorithm, you can implement your own with ON HOTLINK, but note the above caveats-- yours will fail in an equal number of edge case scenarios.