One step further from Telegram
My another attempt to be freer from closed platforms.
I have been using Telegram for a pretty long time. Like and for many others, for me it has always been not just a messenger, but a platform that provides access to a large amount of useful information, alternative points of view, news that the official media do not talk about. Often it was one of the most convenient way to receive information and sometimes even the only available.
But at the same time, Telegram remained a private, closed, centralized, proprietary, non-anonymous platform. Therefore, from time to time I asked myself - how can I reduce my dependence on it, secure my privacy, and which alternatives can I have?
Thinking about it, I realized that I use it mostly in two scenarios: chatting with my friends and reading various news channels. For sure, it provides many other features like group chats, chatbots, audio and video calls, note-taking, and much more. But as I said, I need only these two features.
Analyzing what I can do with it, I realized that for the first scenario (chats), the most obvious thing is to switch to another messenger. It’s not so simple, and the main difficulty is that your contacts also should switch to some new messenger with you. As for reading the news, the first thing that came to my mind was to use some kind of bridge to receive messages from Telegram channels and transmit them to something more appropriate for me. And in my case, it’s good old RSS!
Googling, I found many solutions for this. For example, RSSHub. I tested it for a while and realized that it looks like what I wanted - it is open source, you can to host it by yourself (or you can use a public instance), it works with Telegram’s web version, and it does not require integration via API (and does not require Telegram account). In addition to Telegram, RSSHub also supports a huge variety of other platforms. But I realized that I do not need such a powerful tool, and I can get by with something much more simple. Finally, I decided to create something similar by myself.
So I made a simple AWS Lambda function that takes Telegram channel name as input, scrapes its web version, and generates XML for RSS. That’s all! Here is a link to the project repository. Apart from the code for the lambda function and processing the HTTP request and response, everything takes a few dozen lines of code and is deployed to the cloud using AWS SAM.
The main advantage of such approach - you don’t need to have a Telegram account, so Telegram doesn’t track which channels you are subscribed to. The downside for some might be the inability to read user discussions under posts, but I’ve never read them, so that doesn’t bother me.
Now this is my main way to get content from Telegram. The next step is to find an alternative messenger for chatting and convince my people to use it. But that’s a topic for another post.