123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <title>GramJS API</title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <link id="style" href="css/docs.dark.css" rel="stylesheet" />
- <script>
- (function() {
- var style = document.getElementById('style');
- // setTheme(<link />, 'light' / 'dark')
- function setTheme(theme) {
- localStorage.setItem('theme', theme);
- return (style.href = 'css/docs.' + theme + '.css');
- }
- // setThemeOnClick(<link />, 'light' / 'dark', <a />)
- function setThemeOnClick(theme, button) {
- return button.addEventListener('click', function(e) {
- setTheme(theme);
- e.preventDefault();
- return false;
- });
- }
- setTheme(localStorage.getItem('theme') || 'light');
- document.addEventListener('DOMContentLoaded', function() {
- setThemeOnClick(
- 'light',
- document.getElementById('themeLight')
- );
- setThemeOnClick(
- 'dark',
- document.getElementById('themeDark')
- );
- });
- })();
- </script>
- <link
- href="https://fonts.googleapis.com/css?family=Nunito|Source+Code+Pro"
- rel="stylesheet"
- />
- </head>
- <body>
- <div id="main_div">
- <noscript
- >Please enable JavaScript if you would like to use
- search.</noscript
- >
- <h1>GramJS API</h1>
- <p>
- This documentation was generated straight from the
- <code>scheme.tl</code> provided by Telegram. However, there is
- no official documentation per se on what the methods,
- constructors and types mean. Nevertheless, this page aims to
- provide easy access to all the available methods, their
- definition and parameters.
- </p>
- <p id="themeSelect">
- <a href="#" id="themeLight">light</a> /
- <a href="#" id="themeDark">dark</a> theme.
- </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="https://docs.telethon.dev/en/latest/developing/understanding-the-type-language.html"
- >Understanding the Type Language</a
- >
- for more details on it.
- </p>
- <h3>Index</h3>
- <ul>
- <li>
- <a href="#methods">Methods</a>
- (<a href="methods/index.html">full list</a>)
- </li>
- <li>
- <a href="#types">Types</a>
- (<a href="types/index.html">full list</a>)
- </li>
- <li>
- <a href="#constructors">Constructors</a>
- (<a href="constructors/index.html">full list</a>)
- </li>
- <li><a href="#core">Core types</a></li>
- <li><a href="#example">Full example</a></li>
- </ul>
- <h3 id="methods">Methods</h3>
- <p>
- Currently there are <b>{methodCount} methods</b> available for
- the layer {layer}.
- <a href="methods/index.html">See the complete method list</a>.
- <br /><br />
- 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>{typeCount} types</b>.
- <a href="types/index.html">See the complete list of types</a>.
- </p>
- <p>
- The Telegram types are the <i>abstract</i> results that you
- receive after invoking a request. They are "abstract" because
- they can have multiple constructors. For instance, the abstract
- type <code>User</code> can be either <code>UserEmpty</code> or
- <code>User</code>. You should, most of the time, make sure you
- received the desired type by using the
- <code>isinstance(result, Constructor)</code> Python function.
- When a request needs a Telegram type as argument, you should
- create an instance of it by using one of its, possibly multiple,
- constructors.
- </p>
- <h3 id="constructors">Constructors</h3>
- <p>
- Currently there are <b>{constructorCount} constructors</b>.
- <a href="constructors/index.html"
- >See the list of all constructors</a
- >.
- </p>
- <p>
- Constructors are the way you can create instances of the
- abstract types described above, and also the instances which are
- actually returned from the functions although they all share a
- common abstract type.
- </p>
- <h3 id="core">Core types</h3>
- <p>
- Core types are types from which the rest of Telegram types build
- upon:
- </p>
- <ul>
- <li id="int">
- <b>int</b>: The value should be an integer type, like
- <span class="sh1">42</span>. It should have 32 bits or less.
- You can check the bit length by calling
- <code>a.bit_length()</code>, where <code>a</code> is an
- integer variable.
- </li>
- <li id="long">
- <b>long</b>: Different name for an integer type. The numbers
- given should have 64 bits or less.
- </li>
- <li id="int128">
- <b>int128</b>: Another integer type, should have 128 bits or
- less.
- </li>
- <li id="int256">
- <b>int256</b>: The largest integer type, allowing 256 bits
- or less.
- </li>
- <li id="double">
- <b>double</b>: The value should be a floating point value,
- such as <span class="sh1">123.456</span>.
- </li>
- <li id="vector">
- <b>Vector<T></b>: If a type <code>T</code> is wrapped
- around <code>Vector<T></code>, then it means that the
- argument should be a <i>list</i> of it. For instance, a
- valid value for <code>Vector<int></code> would be
- <code>[1, 2, 3]</code>.
- </li>
- <li id="string">
- <b>string</b>: A valid UTF-8 string should be supplied. This
- is right how Python strings work, no further encoding is
- required.
- </li>
- <li id="bool">
- <b>Bool</b>: Either <code>True</code> or <code>False</code>.
- </li>
- <li id="true">
- <b>flag</b>: These arguments aren't actually sent but rather
- encoded as flags. Any truthy value (<code>True</code>,
- <code>7</code>) will enable this flag, although it's
- recommended to use <code>True</code> or <code>None</code> to
- symbolize that it's not present.
- </li>
- <li id="bytes">
- <b>bytes</b>: A sequence of bytes, like
- <code>b'hello'</code>, should be supplied.
- </li>
- <li id="date">
- <b>date</b>: Although this type is internally used as an
- <code>int</code>, you can pass a <code>datetime</code> or
- <code>date</code> object instead to work with date
- parameters.<br />
- Note that the library uses the date in <b>UTC+0</b>, since
- timezone conversion is not responsibility of the library.
- Furthermore, this eases converting into any other timezone
- without the need for a middle step.
- </li>
- </ul>
- <h3 id="example">Full example</h3>
- <p>
- All methods shown here have dummy examples on how to write them,
- so you don't get confused with their TL definition. However,
- this may not always run. They are just there to show the right
- syntax.
- </p>
- <p>
- You should check out
- <a
- href="https://docs.telethon.dev/en/latest/concepts/full-api.html"
- >how to access the full API</a
- >
- in ReadTheDocs.
- </p>
- </div>
- <script src="js/search.js"></script>
- </body>
- </html>
|