mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-08 04:52:30 +00:00
Several documentation enhancements and build warnings fixes
- Made the documentation even more friendly towards newbies. - Eased the usage of methods like get history which now set a default empty message for message actions and vice versa. - Fixed some docstring documentations too. - Updated the old normal docs/ to link back and forth RTD. - Fixed the version of the documentation, now auto-loaded.
This commit is contained in:
@@ -44,8 +44,15 @@
|
||||
page aims to provide easy access to all the available methods, their
|
||||
definition and parameters.</p>
|
||||
|
||||
<p>Although this documentation was generated for <i>Telethon</i>, it may
|
||||
be useful for any other Telegram library out there.</p>
|
||||
<p>Please note that when you see this:</p>
|
||||
<pre>---functions---
|
||||
users.getUsers#0d91a548 id:Vector<InputUser> = Vector<User></pre>
|
||||
|
||||
<p>This is <b>not</b> Python code. It's the "TL definition". It's
|
||||
an easy-to-read line that gives a quick overview on the parameters
|
||||
and its result. You don't need to worry about this. See
|
||||
<a href="http://telethon.readthedocs.io/en/latest/extra/developing/understanding-the-type-language.html">here</a>
|
||||
for more details on it.</p>
|
||||
|
||||
<h3>Index</h3>
|
||||
<ul>
|
||||
@@ -69,12 +76,12 @@
|
||||
<p>Currently there are <b>{method_count} methods</b> available for the layer
|
||||
{layer}. The complete list can be seen <a href="methods/index.html">here</a>.
|
||||
<br /><br />
|
||||
Methods, also known as <i>requests</i>, are used to interact with
|
||||
the Telegram API itself and are invoked with a call to <code>.invoke()</code>.
|
||||
<b>Only these</b> can be passed to <code>.invoke()</code>! You cannot
|
||||
<code>.invoke()</code> types or constructors, only requests. After this,
|
||||
Telegram will return a <code>result</code>, which may be, for instance,
|
||||
a bunch of messages, some dialogs, users, etc.</p>
|
||||
Methods, also known as <i>requests</i>, are used to interact with the
|
||||
Telegram API itself and are invoked through <code>client(Request(...))</code>.
|
||||
<b>Only these</b> can be used like that! You cannot invoke types or
|
||||
constructors, only requests. After this, Telegram will return a
|
||||
<code>result</code>, which may be, for instance, a bunch of messages,
|
||||
some dialogs, users, etc.</p>
|
||||
|
||||
<h3 id="types">Types</h3>
|
||||
<p>Currently there are <b>{type_count} types</b>. You can see the full
|
||||
@@ -151,58 +158,9 @@
|
||||
</ul>
|
||||
|
||||
<h3 id="example">Full example</h3>
|
||||
<p>The following example demonstrates:</p>
|
||||
<ol>
|
||||
<li>How to create a <code>TelegramClient</code>.</li>
|
||||
<li>Connecting to the Telegram servers and authorizing an user.</li>
|
||||
<li>Retrieving a list of chats (<i>dialogs</i>).</li>
|
||||
<li>Invoking a request without the built-in methods.</li>
|
||||
</ol>
|
||||
<pre><span class="sh3">#!/usr/bin/python3</span>
|
||||
<span class="sh4">from</span> telethon <span class="sh4">import</span> TelegramClient
|
||||
<span class="sh4">from</span> telethon.tl.functions.messages <span class="sh4">import</span> GetHistoryRequest
|
||||
|
||||
<span class="sh3"># <b>(1)</b> Use your own values here</span>
|
||||
api_id = <span class="sh1">12345</span>
|
||||
api_hash = <span class="sh2">'0123456789abcdef0123456789abcdef'</span>
|
||||
phone = <span class="sh2">'+34600000000'</span>
|
||||
|
||||
<span class="sh3"># <b>(2)</b> Create the client and connect</span>
|
||||
client = TelegramClient(<span class="sh2">'username'</span>, api_id, api_hash)
|
||||
client.connect()
|
||||
|
||||
<span class="sh3"># Ensure you're authorized</span>
|
||||
if not client.is_user_authorized():
|
||||
client.send_code_request(phone)
|
||||
client.sign_in(phone, input(<span class="sh2">'Enter the code: '</span>))
|
||||
|
||||
<span class="sh3"># <b>(3)</b> Using built-in methods</span>
|
||||
dialogs, entities = client.get_dialogs(<span class="sh1">10</span>)
|
||||
entity = entities[<span class="sh1">0</span>]
|
||||
|
||||
<span class="sh3"># <b>(4)</b> !! Invoking a request manually !!</span>
|
||||
result = <b>client</b>(GetHistoryRequest(
|
||||
entity,
|
||||
limit=<span class="sh1">20</span>,
|
||||
offset_date=<span class="sh1">None</span>,
|
||||
offset_id=<span class="sh1">0</span>,
|
||||
max_id=<span class="sh1">0</span>,
|
||||
min_id=<span class="sh1">0</span>,
|
||||
add_offset=<span class="sh1">0</span>
|
||||
))
|
||||
|
||||
<span class="sh3"># Now you have access to the first 20 messages</span>
|
||||
messages = result.messages</pre>
|
||||
|
||||
<p>As it can be seen, manually calling requests with
|
||||
<code>client(request)</code> (or using the old way, by calling
|
||||
<code>client.invoke(request)</code>) is way more verbose than using the
|
||||
built-in methods (such as <code>client.get_dialogs()</code>).</p>
|
||||
|
||||
<p>However, and
|
||||
given that there are so many methods available, it's impossible to provide
|
||||
a nice interface to things that may change over time. To get full access,
|
||||
however, you're still able to invoke these methods manually.</p>
|
||||
<p>Documentation for this is now
|
||||
<a href="http://telethon.readthedocs.io/en/latest/extra/advanced-usage/accessing-the-full-api.html">here</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user