telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
25.94k stars 5.14k forks source link

Add emoji autocomplete #627

Closed vishnu-narayanan closed 7 years ago

vishnu-narayanan commented 9 years ago

Add support for emoji autocomplete suggestions for telegram desktop upon typing colon [ : ] . This feature is already implemented on webogram.

image

Full list : http://www.emoji-cheat-sheet.com/

edewaal97 commented 9 years ago

Would love this to be added.

fotanus commented 9 years ago

Would you guys accept a PR with this feature if I write it?

jeyemwey commented 9 years ago

:+1:

Would also love to see that in future versions. It works so much faster to write the emojiname than moving the mouse over the smiley and search for the right one with the mouse.. :)

Peque commented 8 years ago

I would love to see this implemented as well, really the only thing I am missing in the desktop version. Those shortcuts are not only implemented in Webogram, but in Github as well :wink:, and many other webs!

fotanus commented 8 years ago

Sorry, I kind of missed the reply. I'll try to implement this feature on this weekend!

Peque commented 8 years ago

@fotanus Did you finally try to implement this feature? How did it go? :blush:

fotanus commented 8 years ago

@Peque not quite well actually, check #1489. If you feel like tackling it, please by any means do!

nemobis commented 8 years ago

Uh sorry, here I'm commenting on Telegram web and this tracker is about a desktop application. Maybe it can still be useful as an example of things to consider if you implement the feature. :)

I see emoticon/smiley/emoji autocompletion in Telegram web 0.5.5, but it's quite annoying because most of the time, when I type a colon, I'm not looking for emoticon suggestions; I would welcome being able to disable it. telegram-colon telegram-colon-done

The other problem is that the suggestion dialog can only be dismissed by pressing space. If you type an emoticon at the end of a message, or for some other reason you press enter after a colon without having pressed space, the dialog covers the chat until the next time you type a space, and you can't see your own message or any reply. telegram-colon-enter

stek29 commented 8 years ago

@nemobis @m-ober please look at these: pull request and issue

maximbaz commented 7 years ago

I believe the following section of CONTRIBUTING.md literally means that no pull request for this feature will be merged. If this is going to be implemented, it has to come from Telegram developers.

Unfortunately we do not merge any pull requests that have new feature implementations, translations to new languages and those which introduce any new user interface elements.

Telegram Desktop is not a standalone application but a part of Telegram project, so all the decisions about the features, languages, user experience, user interface and the design are made inside Telegram team, often according to some roadmap which is not public.

john-preston commented 7 years ago

I am afraid it is really more annoying thing than a feature, as told by @nemobis.

maximbaz commented 7 years ago

@john-preston it depends on the implementation - I can tell you, it is very useful on Slack. This just needs to be unobtrusive. For example, on Slack the popup will not appear unless a user enters : and a minimum of two characters after it (so any textual emojis like :) or :D do not cause pop-up to open), and the popup is closed immediately once a user selects an emoji to post.

Peque commented 7 years ago

@john-preston I also find this very useful, rather than annoying. It is not only Slack or Webogram implementing this, note how GitHub does the same. :wink: :wink:

Akronix commented 7 years ago

Any news on this?

arieljannai commented 7 years ago

I am afraid it is really more annoying thing than a feature, as told by @nemobis.

@john-preston Do you think there's a way of doing it that it won't be annoying?

I find it very comfortable, and I can see that a lot of people too. For example, I don't think the github autocomplete for emoji is annoying, it's just a little pop-up menu when typing a colon - : . It's also poping only if the colon is not connected to other text - doesn't jump: jump :

Maybe there can be a shortcut for opening this menu. Like typing colon and then ctrl+space

Akronix commented 7 years ago

I agree with @maximbaz that a right implementation is not annoying at all. Slack is a good example of this.

Regarding @nemobis comment I'd suggest you to post an issue in webogram repo and we can discuss further how to improve the UX.

PandorasFox commented 7 years ago

There's already a "replace emoji" thing in the settings, with a list - would it be possible to at least allow users to define their own substitutions?

goncalor commented 7 years ago

An alternative to this would be to add a search field to the emoji drawer. Searching an emoji right now is really painful. Opening the emoji drawer and start typing something like "house" and see related emojis is pretty straightforward.

oxydron commented 7 years ago

One thing that would be great is while you type the double-dot emoji, when you end it, the code got replaced by the emoji and show the related stickers panel. This would be wonderful.

ajsb85 commented 7 years ago

Simple, the same functionality of the actual emojis but extended.

image

Akronix commented 7 years ago

What's wrong with using the same keywords for emojis that Github uses? :smiley: it's more accurate and exact than :-D

PandorasFox commented 7 years ago

Something like what discord does would be ideal, I think

maximbaz commented 7 years ago

Hey 🙂

I've recently implemented emoji autocomplete for a different messaging app called Wire. I'm not using Telegram anymore and will not submit pull request here, but since I spent quite some time on designing unobtrusive and intuitive behavior for emoji autocomplete, I thought I'd share these insights with you guys, which would hopefully help or inspire you implementing this as well.

In the end, we all want better emoji for everyone, right? :smile:

First of all, emoji-cheat-sheet.com is an obsolete list, it is not maintained anymore and is certainly not the most complete one (last commit is 1 year ago). Don't use it. Luckily, one of the famous emoji providers called EmojiOne started to host a similar list. It is open for pull requests, and has a higher chance of staying up to date. I know Telegram is not using EmojiOne, but don't worry - the list itself is independent of the emoji style. Highly recommend to use that list.

As for the annoyance point, I believe I managed to make it as unobtrusive as possible. These are the rules I created for showing autocomplete:

A picture is worth a thousand words, so... demo time!

wire

By sharing this with you, I hope it will spark the discussion and at the same time demonstrate that it is possible to have useful and unobtrusive emoji autocomplete.

The code for this feature is open source and available in Wire repository, if interested I encourage you to take inspiration from it (just double check with the license).

stek29 commented 7 years ago

@maximbaz thanks for sharing, I've never thought of those. I doubt js code can help, but general concepts would be useful imo.

oxydron commented 7 years ago

@maximbaz very nice mate, good insights on behavior. Cheering here for this to be implemented.

john-preston commented 7 years ago

@maximbaz Thanks! Used some of your hints :)

Akronix commented 7 years ago

Thank you very much, @john-preston. This was the only thing I liked webogram over telegramdesktop!

Now this issue may be closed?

vishnu-narayanan commented 7 years ago

Finally, been waiting for this for ages. :) cheers @john-preston

auchri commented 7 years ago

which PR? 😲

kipusoep commented 7 years ago

This is a nice feature, but has a down-side (at least for me). I use :p and :-p a lot, which is the :yum: emoji. But when I use one of these shortcuts the emoji autocomplete list pops up and after pressing to send the message, the first autocomplete emoji is selected. Kind of annoying.

arieljannai commented 7 years ago

@kipusoep If that's the only thing, you can use :y instead - the first result will be the yum 😋 emoji.

Also, remember you can add a space to dismiss the emoji selection menu

kipusoep commented 7 years ago

Well it's a breaking change and interfering with a habit, which should be prevented imo. Isn't it possible to have aliases for the basic emoji's, like :-) ;-) :-p etc.

arieljannai commented 7 years ago

The developers could answer about what's possible or not. About:

Isn't it possible to have aliases for the basic emoji's, like :-) ;-) :-p etc.

The aliases still work as they did before, the only difference is that you should type another character such as space to close the menu and use the basic aliases.

I think that a good suggestion would be an option to turn this functionality on/off from settings.

kipusoep commented 7 years ago

NOFI, but I'm having some issues with asking the developers to add on/off settings, because of https://github.com/telegramdesktop/tdesktop/issues/2541 ⛔️

arieljannai commented 7 years ago

Hmm well, I have no idea about the asking issues.. I agree that consistency is very important, especially when the app is cross platform and the users expect it to be pretty much similar. The Developers are trying to stick with a guideline that holds for any of the Telegram apps. Also, don't forget most of the project is built by a single man, so it's very understandable that he can't accept any suggestion, even if it might be useful (such as adding the thing that bothered you to the settings)


How about asking if a PR by you will be accepted in order to add this to the settings?

We need to separate features that aren't following the project guideline from the ones that can be added, but are in a low priority and therefore won't be developed. I believe that features that fall under the second category would be accepted as part of a good and detailed PR - worth asking in my opinion.

oxydron commented 7 years ago

I agree with @kipusoep it should have a on/off option.

u1735067 commented 7 years ago

I agree that consistency is very important, especially when the app is cross platform and the users expect it to be pretty much similar. The Developers are trying to stick with a guideline that holds for any of the Telegram apps.

About consistency, the webogram client use a much better behavior IMO : there's no emoji selected by default when you type :p for example, so you can press [enter] (if you only send this, or if you finish the message by this especially) and the text will be sent as expected, there'll be no replacement (with :pig: for example). Also, the tdesktop behavior seems to be annoying only when :<something> is at the end of the message (or is the message). (No need to say I'm pretty annoyed with this too, using :por :x is very common)

edewaal97 commented 7 years ago

You are right. It doesn't autocomplete when you use a capital letter, like :P or :X. A better implementation is to autocomplete when you type the second letter after the colon.

Also I would like to draw attention to the following enhancement which lets us create shortcuts for the emoji we want to send. Just like with MSN messenger back in time. (nostalgia right?) https://github.com/telegramdesktop/tdesktop/issues/780

heaven commented 5 years ago

This is the worst feature I see in the Telegram Desktop! I can't get rid of this garbage autocompletion, how to turn this off?

goyalyashpal commented 4 years ago

image

Full list : http://www.emoji-cheat-sheet.com/

i am afraid this is not the case anymore. For example the site is showing :simple_smile: :simple_smile: code, but it is not working on Telegram desktop, rather :slight_smile: :slight_smile: works on tele (as well as GitLab) (and on gitlab it is :slightly_smiling_face: :slightly_smiling_face: )

ariannavabi commented 3 years ago

Inserting Emojis Using the Function Keys Hey there! So I just realized that the function keys don't do anything on Telegram Desktop, so I was thinking it would be handy to be able to send emojis using them. Not sure whether this thing is handy for all the users or not, but for those who wish to have that option, here's a simple code I just wrote that does exactly that: https://github.com/ariannavabi/WindowsUtilities/tree/main/Telegram%20Emojis%20Shortcuts/Version%201.2

It would also be nice to send emojis in a non-animated format for both sides. I also wrote a code for that in the link I mentioned but I really wish that the option becomes available in feature Telegram updates.

github-actions[bot] commented 3 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.