Obviously, this is not very high priority, but would promote usage of the chat function.
When it comes to chatting, you really can't beat the old ways. IRC had a lot of very practical features that are sorely missing in most other chat implementations. It would be wonderful to see them in Alliance.
### /away [message]
- Typing /away and then a message will set your status as away and send the message to whoever sends you a private message. A status notice on mouseover in the userlist would also be nice.
### /msg <user> <message>
Aliases: /tell, /pm, /query
- Starts a private conversation with <user> and sends <message> as first line.
### /me emotes.
- Starting a line with /me drops the colon after the nick and adds an asterisk before it instead, so that "/me smiles." becomes "* <user> smiles."
### /quit [message]
- Closes the Alliance window (not the background client) and displays the message "<user> has quit: [message]"
- Should be possible to turn off display of quit messages in settings as this can create extreme spam levels on large networks. Also, possibly a tiered system based on the friend list. (I.e. the option to show quit messages from friends but not friends of friends.)
### /ignore <user>
- Ignores all chat output from <user>.
- /unignore <user> removes user from ignore list. (Originally, this was /ignore -r <user>)
### /slap <user>
- Outputs "* <your username> slaps <user> with a large trout!"
- Utterly extraneous, but would win favour with the elders.
### Tab Nick Completion
- Pressing the Tab key after writing a few characters will automatically complete the word with the (alphabetically) first listed nickname. Pressing Tab again cycles to the next nickname that matches the mask, and so on.
### Settings Option to display private messages in main chat window.
- Should have clear indication of being a private message in both text and colouring. (For example "*** <user>: <message text>", displayed in italic and a distinctly different colour.)
### Chat Logging
- Preferably with some settings for separating logs by day as well as separate logs for private messages.
There are probably more functions that can be taken from IRC, but this is what I personally came up with.
Of course, the Right way of implementing most of this would be by creating a rudimentary (and intentionally limited) scripting system for macros tied to slash-initiated commands and shipping the client with the basic macros for the above functions.
For further reference on IRC client scripting, have a look at xChat, mIRC, et.c.
(Don't look at me. I'm no coder!)