Telegram Bot Platform is dying. Once upon a time in June 2015, Telegram… – Telegram Group

Telegram Bot Platform is dying

Once upon a time in June 2015, Telegram launched the Bot API. Chat bots seemed to be taking off in different messengers, and were promised to be the new way in which people would use web services, interact with businesses — it was supposed to replace most of what we do, such as ordering a pizza or tracking a package. Somewhere along the way, we have gone past the hype curve and are now on our way to the slope of enlightenment. We realised that we should stop seeing everything as a nail, and instead focus on solving actual problems. I will mostly be focusing on the Telegram Bot platform.

Finding the Bot API on the Telegram website is a nightmare. If you go to https://core.telegram.org/ and try to click links mentioned the Bot API, you will just see marketing pages with lists of features. It does not help that the Telegram API (for building custom Telegram clients) the Bot API and the Payments API are jumbled on the same page, adding to the confusion.

https://core.telegram.org/api

There are no code examples, curl or similar. All you get is a bunch of tables with parameter names and types. While this might be acceptable for experienced developers, this can be discouraging for beginner developers. I am also very happy when curl blocks are provided, as you can easily copy and paste them into your favourite REST client like Postman or Insomnia and start experimenting right away. Here is an example of it by Cloudflare.

https://core.telegram.org/bots/api

The structure of the API docs is a mess. It feels like it was made by an engineer for machines, because that is exactly how well a human being can interpret it. It is just one long list of methods in no particular order: setters mixed with getters and deleter methods, with no functional grouping. Leaving it up to people’s brains to perform simple hierarchical nesting just demonstrates ignorance from the creators.

The design of the API is garbage and does not follow any REST design patterns. From the above image, it is clear that the design of the API is a disaster in its current form. Instead of utilising existing HTTP methods (e.g. POST , GET , DELETE etc.), Telegram has decided to re-implement them by putting the method names in the resource URL, and accepting only GET and POST HTTP methods in requests. This is confusing, non-standard, and creates additional complexity. E.g. GET: /getUpdates vs GET: /updates .

Telegram Bot API designers don’t know about the existence of HTTP headers. Bots are authorised by generating symmetric auth tokens:

However, this approach of including a token in the URL path is unconventional and prone to errors. A much better approach would be at least adding it as a query param or ideally as a standard Authorization: Bearer token header value.

Some essential methods are simply non-existent as of the time of writing. For example, an issue I encountered is that it is impossible to get an array of chat members, but you can get an array of administrators?

The Telegram Bot ecosystem is severely fragmented. There is no dedicated official website for bots, there is no official list of all known, active and working bots. There are no provided ways of getting metrics directly from Telegram — it is up to developers. There is no clear way in which people can monetise their bots, or why they should even bother — Telegram isn’t sponsoring any library or bot developers, or doing any active promotions. Instead they decided it was more important to add a dart sticker rather than fix their API docs.

This is not to say that Telegram Bots are completely dead. There are many use-cases for businesses and communities, and it is an open platform that is easy to sign up for. But if Telegram Messenger wants to grow the ecosystem, it is time to start paying more attention, listening to developers, and stop going off the beaten track just for the sake of being “different”. I am not complaining about choosing MTProto, but avoiding usage of proper HTTP methods is unacceptable.

Ten articles before and after

data-rh=”true”>製作Telegram Bot每日接收最新科技新聞 – Frank Ye – Medium – Telegram Group

How to create a Telegram Bot in Python in under 10 minutes – Telegram Group

Messaging Application Telegram Is Planning To Launch Paid Services In Year 2021 – Telegram Group

Why Telegram Ads will definitely fail? – Telegram Group

How to make Telegram more secure. With the large number of people moving… – Telegram Group

Create Your Dream Telegram Sticker Pack – Telegram Group

The Best Telegram Channels You Must Follow in 2022 – Telegram Group

DialogFlow Integration with Telegram – Telegram Group

Streaming Golang News Channel menggunakan Apache Flume, NATS dan Telegram. (Bagian ke-1) – Telegram Group

Could Telegram’s TON Blockchain Drive Mass Cryptocurrency Adoption? – Telegram Group