sm00th / bitlbee-discord

Bitlbee plugin for Discord (http://discordapp.com)
GNU General Public License v2.0
290 stars 27 forks source link

Outgoing mentions #9

Closed Kays closed 8 years ago

Kays commented 8 years ago

I don't know the best issue topic name for this feature request.

Basically, in IRC, highlights work like: user: <message> or user, <message> etc

And typing @user: message is slow because I can't tab complete. So I'm wondering if bitlbee-discord can translate Kays: message to @Kays message

P.S.: not sure if Discord keeps a list of IRC nicks to Discord nicks because it has to account for spaces in Discord nicks in the translation.

sm00th commented 8 years ago

I've been thinking about this for a while. My main concern is if ":" and "," are the only suffixes that should be treated as a trigger to try and detect a "mention" as many clients allow to change this suffix. But I do agree that supporting even one of those options would be preferable to supporting none.

BTW, it is a bit more complicated then just sending @user instead of user:. Discord's mention mechanism is two-fold, clickable names (i.e. @user) are actually represented in message content as <@123456> (where 123456 is userid) and for actual highlights there is a separate "mentions" array of ids. They probably did this for @everyone broadcast highlight, but it is a major pain to work with, there was an issue #2 about mentions not working the other way.

P.S.: not sure if Discord keeps a list of IRC nicks to Discord nicks because it has to account for spaces in Discord nicks in the translation.

Thanks for mentioning this, I didn't even know discord supported nicks with spaces in them. Right now bitlbee-discord does not handle that, so all of the translations are handled at a lower level, that is by bitlbee. It is probably a good idea to move all that handling to bitlbee-discord.

sm00th commented 8 years ago

Should be fixed in 29b0581. It turned out to be a bit easier than I originally thought, you don't have to manually create that "mentions" array.