One thing worth considering is that currently if there's an unread message in a town/alliance discord it means an actual conversation took place. If leave/join messages were added then town/alliance channels are effectively always going to be unread, making it more annoying to read the actual conversations.
If you want to check who is online then use /list inside a town/alliance channel.