GNU Emacs Telegram Client
github.com
github.com
I think the reason why it's that good is that it's literally the same API that the official apps use. There's no separate, restricted API for external developers, your app is treated in the exact same way as the official ones are. Even things like account creation and payments are exposed.
The protocol is very esoteric and hard to understand, though. It wouldn't necessarily have to be that way, it just feels like their documentation is aimed at mathematicians, not developers, especially the parts concerning binary serialization. They definitely suffer from a "reinvent the wheel" syndrome, they have a proprietary client-server encryption layer where plain old HTTPS would do, same for data serialization. Things are reasonably well documented, though, and implementing a fully-featured client with 0 external dependencies is feasible. Voice calls are a notable exception here, the calls API has very little documentation and all it gives you is an opaque blob that you're expected to give to their own voip library.
This client and all other 3rd party clients use tdlib, which is Telegram's open source client library to their servers. tdlib's development is notoriously behind compared to the client library used by their 1st party apps (which isn't tdlib). A good chunk of Telegram's modern features (voice chats, voice calling, chat reactions) aren't available on tdlib.
I say this as a TG user under Bitlbee-libpurple.
This is a matter of perspective. Personally, emoji reactions aren't a big enough draw for me to switch to or from any platform.
PSI-plus >>>>>> Any TG client. And I use Nekogram on the phone.
Heck, I could play games and share ideas on a whiteboard with TKabber long ago.
Or is that specific client just a unique case of the devs going above and beyond?
It's rare to read this in a thread about Emacs where something other than Emacs is described at versatile.
Networks which are extremely adversarial, such as walled gardens, seen to have no clue what to do with it, but even in a situation where it gets RST flooded, it keeps on chugging.
But they support animated stickers! This is both wonderful and terrifying. Verily, Emacs is an operating system (with a decent editor built in). What next, a DAW?
https://www.youtube.com/watch?v=Ix2b_qFYfAA
Edit: welp https://github.com/actonDev/s7-reaper
That being said:
I shall repent once more and go back to the Stallman scriptures. Maybe then I can find where I went wrong.
It's really nice to have access to a wide variety of client softwares, and the ability to build ones own (shameless plug - I built https://github.com/d99kris/nchat which is a simple TUI client).
Coming from IRC I got really used to having my own utility bot and others around. Not having them in Signal / WA is a kind of a blocker for me.
Took me a two beers to mod my IRC bot to connect to Telegram and Discord. APIs matter.
uh-oh
> Sponsored messages on Telegram are displayed in large public one-to-many channels with 1000+ subscribers and are limited to 160 characters. Sponsored Messages are based solely on the topic of the public channels in which they are shown.
That's actually not a terrible articulation of its design philosophy.
[1] http://www.informatimago.com/linux/emacs-on-user-mode-linux....
[1] https://www.reddit.com/r/emacs/comments/ghq1yx/lets_get_real...
WhatsApp and Signal don't allow unofficial clients at all :/