@@ -20,17 +20,17 @@ C. It enables you to easily create custom applications for both user and bot ide
2020`MTProto API `_ with the Python programming language.
2121
2222.. _Telegram : https://telegram.org
23- .. _MTProto API : https://core.telegram.org/api#telegram -api
23+ .. _MTProto API : ../topics/mtproto-vs-botapi#what-is-the-mtproto -api
2424
25- What does the name mean ?
26- ------------------------
25+ Where does the name come from ?
26+ ------------------------------
2727
28- The word "Pyrogram" is composed by **pyro **, which comes from the Greek word *πῦρ (pyr) *, meaning fire, and **gram **,
28+ The name "Pyrogram" is composed by **pyro **, which comes from the Greek word *πῦρ (pyr) *, meaning fire, and **gram **,
2929from *Telegram *. The word *pyro * itself is built from *Python *, **py ** for short, and the suffix **ro ** to come up with
3030the word *fire *, which also inspired the project logo.
3131
32- How old is the project ?
33- -----------------------
32+ How old is Pyrogram ?
33+ --------------------
3434
3535Pyrogram was first released on December 12, 2017. The actual work on the framework began roughly three months prior the
3636initial public release on `GitHub `_.
@@ -51,40 +51,15 @@ Why Pyrogram?
5151- **Comprehensive **: Execute any `advanced action `_ an official client is able to do, and even more.
5252
5353.. _TgCrypto : https://github.com/pyrogram/tgcrypto
54- .. _Smart Plugin : smart-plugins
55- .. _advanced action : advanced-usage
54+ .. _Smart Plugin : ../topics/ smart-plugins
55+ .. _advanced action : ../topics/ advanced-usage
5656
5757What can MTProto do more than the Bot API?
5858------------------------------------------
5959
60- Here you can find a list of all the known advantages in using MTProto-based libraries (Pyrogram) instead of the official
61- HTTP Bot API:
60+ For a detailed answer, please refer to the `MTProto vs. Bot API `_ page.
6261
63- - **Authorize both user and bot identities **: The Bot API only allows bot accounts.
64-
65- - **Upload & download any file, up to 1500 MB each (~1.5 GB) **: The Bot API allows uploads and downloads of files only
66- up to 50 MB / 20 MB in size (respectively).
67-
68- - **Has less overhead due to direct connections to Telegram **: The Bot API uses an intermediate server to handle HTTP
69- requests before they are sent to the actual Telegram servers.
70-
71- - **Run multiple sessions at once, up to 10 per account (either bot or user) **: The Bot API intermediate server will
72- terminate any other session in case you try to use the same bot again in a parallel connection.
73-
74- - **Get information about any public chat by usernames, even if not a member **: The Bot API simply doesn't support this.
75-
76- - **Obtain information about any message existing in a chat using their ids **: The Bot API simply doesn't support this.
77-
78- - **Retrieve the whole chat members list of either public or private chats **: The Bot API simply doesn't support this.
79-
80- - **Receive extra updates, such as the one about a user name change **: The Bot API simply doesn't support this.
81-
82- - **Has more meaningful errors in case something went wrong **: The Bot API reports less detailed errors.
83-
84- - **Has much more detailed types and powerful methods **: The Bot API types often miss some useful information about
85- Telegram's type and some of the methods are limited as well.
86-
87- - **Get API version updates, and thus new features, sooner **: The Bot API is simply slower in implementing new features.
62+ .. _MTProto vs. Bot API : ../topics/mtproto-vs-botapi
8863
8964Why do I need an API key for bots?
9065----------------------------------
@@ -126,7 +101,7 @@ fails or not:
126101
127102|bug report |
128103
129- .. _you need a proxy : proxy
104+ .. _you need a proxy : ../topics/ proxy
130105
131106I keep getting PEER_ID_INVALID error!
132107-------------------------------------------
@@ -150,12 +125,27 @@ Can I use the same file_id across different accounts?
150125
151126No, Telegram doesn't allow this.
152127
153- File ids are bound to a specific user/bot, and an attempt in using a foreign file id will result in errors such as
154- **[400 MEDIA_EMPTY]: The media is invalid **.
128+ File ids are personal and bound to a specific user/bot -- and an attempt in using a foreign file id will result in
129+ errors such as **[400 MEDIA_EMPTY]: The media is invalid **.
155130
156131The only exception are stickers' file ids; you can use them across different accounts without any problem, like this
157132one: ``CAADBAADyg4AAvLQYAEYD4F7vcZ43AI ``.
158133
134+ Can I use Bot API's file_ids in Pyrogram?
135+ -----------------------------------------
136+
137+ Definitely! All file ids you might have taken from the Bot API are 100% compatible and re-usable in Pyrogram...
138+
139+ ...at least for now.
140+
141+ Telegram is slowly changing some server's internals and it's doing it in such a way that file ids are going to break
142+ inevitably. Not only this, but it seems that the new, hypothetical, file ids could also possibly expire at anytime, thus
143+ losing the *persistence * feature.
144+
145+ This change will most likely affect the official `Bot API <../topics/mtproto-vs-botapi#what-is-the-bot-api >`_ too
146+ (unless Telegram implements some workarounds server-side to keep backwards compatibility, which Pyrogram could in turn
147+ make use of) and we can expect a proper notice from Telegram.
148+
159149My account has been deactivated/limited!
160150----------------------------------------
161151
@@ -184,13 +174,14 @@ About the License
184174.. image :: https://www.gnu.org/graphics/lgplv3-with-text-154x68.png
185175 :align: left
186176
187- Pyrogram is free software and is currently licensed under the terms of the GNU Lesser General Public License v3 or later
188- (LGPLv3+). In short: you may use, redistribute and/or modify it provided that modifications are described and licensed
189- for free under LGPLv3+.
177+ Pyrogram is free software and is currently licensed under the terms of the
178+ ` GNU Lesser General Public License v3 or later (LGPLv3+)`_ . In short: you may use, redistribute and/or modify it
179+ provided that modifications are described and licensed for free under LGPLv3+.
190180
191181In other words: you can use and integrate Pyrogram into your own code --- either open source, under the same or a
192182different licence or even proprietary --- without being required to release the source code of your own applications.
193183However, any modifications to the library itself are required to be published for free under the same LGPLv3+ license.
194184
185+ .. _GNU Lesser General Public License v3 or later (LGPLv3+) : https://github.com/pyrogram/pyrogram/blob/develop/COPYING.lesser
195186.. _Bug Report : https://github.com/pyrogram/pyrogram/issues/new?labels=bug&template=bug_report.md
196187.. _Feature Request : https://github.com/pyrogram/pyrogram/issues/new?labels=enhancement&template=feature_request.md
0 commit comments