Hello, my name is Gabriele,
and today I'm going to tell you about Telega
and the Emacs community on Telegram.
I'm not affiliated with Telegram or Telega,
and opinions are my own in general.
I'm going to give you my personal spin about these topics.
The plan for the talk is the following.
First, I'm going to talk about what is Telegram.
Next, I'm going to tell you
about the Emacs community on Telegram.
And finally, I'm going to discuss telega.el,
an Emacs package for Telegram.
In all of these, I'm now going to dive into details.
My goal here is to give you
some exposure about these topics.
You can find out more online, if you want.
Let's get started with what is Telegram.
Telegram is a cloud-based
instant messaging platform.
It's a popular one.
It has more than half a billion users.
I think one of the reasons
why it's so popular, it's because
it's really rich in features
while being user friendly.
Hence, in some regions,
Telegram has good market penetration.
And of course, because of network effects,
this brings even more users.
The details of the features
is not particularly important.
What I want to emphasize, though,
is that while Telegram is mostly text-based,
there's also support for audio/video calls and notes,
and there's also a lot of features
which typically you find
in other instant messaging platforms:
you can chat with yourself,
you can make polls,
you can make quizzes,
you can schedule messages,
you can send attachments of any kind,
even big ones, and you can send stickers.
Telegram, overall, is quite customizable,
and I would say that the platform is, overall, hackable.
You can expand it with bots
and the clients are open source.
In all of this, we shouldn't forget, though,
the Telegram is centralized
and it is not free software.
Nonetheless, it's still used by a number of people,
and people use Telegram for different reasons.
For example, some people use it to stay in touch
with friends and families.
For this, Telegram offers private chats
or group chats with a restricted number of people.
A lot of people use it
for engaging in online communities.
For this, Telegram has super groups,
which are groups with up to
hundreds of thousands of users,
and has also channels,
which are one-to-many ways of communicating,
so these are ideally suited for,
for example, following news,
all sorts of news.
Telegram also has bots
which can be useful by themselves.
They provide value.
And the chat with oneself
can be used for sending links,
making notes, or sending reminders.
So overall, there's multiple ways
in which you can use Telegram.
When it comes to instant messaging,
many people call Telegram home.
It shouldn't come as a surprise, then,
that Emacs users want to meet
on Telegram as well.
And indeed, there's an Emacs community on Telegram.
Here I'm listing a few super groups about Emacs.
There are language groups,
so there's Emacs English, Emacs Russian,
Emacs Spanish, Emacs Mandarin, Portuguese...
There are groups which are specific to starter packs.
For example, there are Doom Emacs,
Spacemacs, and there are groups
which are specific to packages like telega
which I'm going to discuss later.
These are what you would expect
from traditional internet chat rooms.
So they're used for shared links,
they're used for discussing, troubleshooting,
giving each other recommendations...
I think there are healthy communities
with typically a hundred
to a thousand members.
An example of an initiative that's put forth
by the Emacs community on Telegram
is @emacs_stories. @emacs_stories
collects links and messages and pictures
that can showcase what Emacs can do.
One of the goals here is
to show people that are new to emacs
what you can achieve
if you spend time with your editor.
And here, what I'm showing you
is a screenshot from Telega.
So let's move on to the final topic
of this discussion,
which is telega.el.
Telega is a terrific piece of software.
Telega is a interface to telegram within Emacs.
It's developed by @zevlg,
which is a long-time Emacs hacker,
and it's very actively developed.
Telegram itself is under active development,
and telega has to implement
all these new features
that Telegram implements.
Indeed, Telega implements
almost all the features
available in Telegram,
even things like live location,
except for audio/video calls
but these are work in progress.
Just to give you an idea
of the size of this effort,
we're talking about
30,000 lines of code,
which doesn't tell you much,
but maybe you can get a sense
that this is a significant project.
In fact, I think Telega is a really remarkable
piece of software.
Not only it implements all the features
available in Telegram,
but implements new ones,
which are only available to Emacs users.
Here I'm blinking the documentation
for you to read if you're interested.
What I want to mention, though,
is that Telega is available on MELPA,
but it requires an external library, TDlib.
Most distributions do not pack
a recent version of TDlib.
Such you have to compile yourself.
if you don't want to compile TDlib,
you can use the officially supported
Dockerfile or guix file
so that you can get everything
without too much worry.
Now let me tell you more about Telegram.
Of course, the best way is to just
experiment with it yourself.
And here I just want to give you
a glimpse of how Telega works.
When you start Telega,
what you see is a root buffer.
The root buffer is essentially
the list of all the chats that you have,
and, by itself, is a really powerful tool.
You can use it for sorting
and filtering your chats,
or you can create groups which are thematic.
There's sophisticated search functions.
For example, if you want to search only
for specific type of media,
you can start new chats,
you can get info about the chats,
and you can even change Telegram settings
which are applied across the board.
Here I'm showing you an example
of what it looks like.
As you see, we're enjoying the support for emoji
that Emacs has been improving upon
over the past years.
Once you select one of these charts,
you're brought to the chat buffer.
Here I'm showing an example of
what a chat buffer looks like.
So this is a screenshot
from the Emacs English group
where people were discussing about
compiling Emacs.
As you can see, we see the conversation.
We see the avatars.
We see that there's a thread.
We also see that
I'm going to send a message,
message with emoji,
a message with formatting,
and I'm attaching an object.
I can format my messages
using Markdown or Org Mode
or whatever I prefer
and I can attach any kind of attachment
I like. For example...
What I can also do is,
if I'm editing a buffer,
I can send that buffer through Telega,
which I find quite useful
especially when I'm sending code.
And again, just to show you that
Telegram is not just text messages
and Telega supports all the features in Telegram,
here at the bottom, I'm showing
a voice note being played through Emacs,
and as you see, there are some buttons
which are functional.
If I hit the two times button,
the playback speed will be twice,
which is really neat.
Telega and Emacs can even
reproduce videos or gifs,
at least for a recent version of Emacs.
Finally, I want to emphasize that Telega
integrates really well with Emacs.
For example, we are showing you
how you can use a transient interface
to Telega, or on the other side,
I'm showing you how Telega integrates
with dashboard,
so that we have recent chats
and we have the Emacs stories.
Because, you know,
who doesn't like Emacs with stories.
On top, on the other hand,
I'm showing you that we can have
syntax highlighting,
which is something that Telegram by itself
doesn't have, this Emacs-only feature,
and we can edit this
in the same way we edit
Org Mode source blocks,
so we can edit this
with the minor mode for,
in this case, Emacs Lisp.
So, to conclude, I wanted to show you
that the Emacs community
also meets on Telegram,
and we're an active and healthy community,
and I want to present Telega
as a really amazing piece of software,
one of the best clients available for
Telegram with Emacs.
Even if you don't use Telegram,
I think you should have a look at Telega
just to appreciate how amazing
a piece of software it is.
And with this, I thank you for your attention,
and if you like Telega,
please consider donating
to support the development of the package.
Thanks.