mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-25 10:53:44 +03:00
add readthedocs files
This commit is contained in:
parent
9767774147
commit
231ecf3f2a
20
readthedocs/Makefile
Normal file
20
readthedocs/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Minimal makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line.
|
||||||
|
SPHINXOPTS =
|
||||||
|
SPHINXBUILD = sphinx-build
|
||||||
|
SPHINXPROJ = Telethon
|
||||||
|
SOURCEDIR = .
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
# Put it first so that "make" without argument is like "make help".
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
.PHONY: help Makefile
|
||||||
|
|
||||||
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
|
%: Makefile
|
||||||
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
174
readthedocs/conf.py
Normal file
174
readthedocs/conf.py
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Telethon documentation build configuration file, created by
|
||||||
|
# sphinx-quickstart on Fri Nov 17 15:36:11 2017.
|
||||||
|
#
|
||||||
|
# This file is execfile()d with the current directory set to its
|
||||||
|
# containing dir.
|
||||||
|
#
|
||||||
|
# Note that not all possible configuration values are present in this
|
||||||
|
# autogenerated file.
|
||||||
|
#
|
||||||
|
# All configuration values have a default; values that are commented out
|
||||||
|
# serve to show the default.
|
||||||
|
|
||||||
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
|
# add these directories to sys.path here. If the directory is relative to the
|
||||||
|
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||||
|
#
|
||||||
|
# import os
|
||||||
|
# import sys
|
||||||
|
# sys.path.insert(0, os.path.abspath('.'))
|
||||||
|
|
||||||
|
|
||||||
|
# -- General configuration ------------------------------------------------
|
||||||
|
|
||||||
|
# If your documentation needs a minimal Sphinx version, state it here.
|
||||||
|
#
|
||||||
|
# needs_sphinx = '1.0'
|
||||||
|
|
||||||
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||||
|
# ones.
|
||||||
|
extensions = ['sphinx.ext.autodoc']
|
||||||
|
|
||||||
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
templates_path = ['_templates']
|
||||||
|
|
||||||
|
# The suffix(es) of source filenames.
|
||||||
|
# You can specify multiple suffix as a list of string:
|
||||||
|
#
|
||||||
|
# source_suffix = ['.rst', '.md']
|
||||||
|
source_suffix = '.rst'
|
||||||
|
|
||||||
|
# The master toctree document.
|
||||||
|
master_doc = 'index'
|
||||||
|
|
||||||
|
# General information about the project.
|
||||||
|
project = 'Telethon'
|
||||||
|
copyright = '2017, Lonami'
|
||||||
|
author = 'Lonami'
|
||||||
|
|
||||||
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
# built documents.
|
||||||
|
#
|
||||||
|
# The short X.Y version.
|
||||||
|
version = '0.15'
|
||||||
|
# The full version, including alpha/beta/rc tags.
|
||||||
|
release = '0.15.5'
|
||||||
|
|
||||||
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
|
# for a list of supported languages.
|
||||||
|
#
|
||||||
|
# This is also used if you do content translation via gettext catalogs.
|
||||||
|
# Usually you set "language" from the command line for these cases.
|
||||||
|
language = None
|
||||||
|
|
||||||
|
# List of patterns, relative to source directory, that match files and
|
||||||
|
# directories to ignore when looking for source files.
|
||||||
|
# This patterns also effect to html_static_path and html_extra_path
|
||||||
|
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
||||||
|
|
||||||
|
# The name of the Pygments (syntax highlighting) style to use.
|
||||||
|
pygments_style = 'sphinx'
|
||||||
|
|
||||||
|
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||||||
|
todo_include_todos = False
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTML output ----------------------------------------------
|
||||||
|
|
||||||
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
|
# a list of builtin themes.
|
||||||
|
#
|
||||||
|
html_theme = 'sphinx_rtd_theme'
|
||||||
|
|
||||||
|
# Theme options are theme-specific and customize the look and feel of a theme
|
||||||
|
# further. For a list of options available for each theme, see the
|
||||||
|
# documentation.
|
||||||
|
#
|
||||||
|
html_theme_options = {
|
||||||
|
'collapse_navigation': True,
|
||||||
|
'display_version': True,
|
||||||
|
'navigation_depth': 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
|
html_static_path = ['_static']
|
||||||
|
|
||||||
|
# Custom sidebar templates, must be a dictionary that maps document names
|
||||||
|
# to template names.
|
||||||
|
#
|
||||||
|
# This is required for the alabaster theme
|
||||||
|
# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
|
||||||
|
html_sidebars = {
|
||||||
|
'**': [
|
||||||
|
'globaltoc.html',
|
||||||
|
'relations.html', # needs 'show_related': True theme option to display
|
||||||
|
'searchbox.html',
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTMLHelp output ------------------------------------------
|
||||||
|
|
||||||
|
# Output file base name for HTML help builder.
|
||||||
|
htmlhelp_basename = 'Telethondoc'
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for LaTeX output ---------------------------------------------
|
||||||
|
|
||||||
|
latex_elements = {
|
||||||
|
# The paper size ('letterpaper' or 'a4paper').
|
||||||
|
#
|
||||||
|
# 'papersize': 'letterpaper',
|
||||||
|
|
||||||
|
# The font size ('10pt', '11pt' or '12pt').
|
||||||
|
#
|
||||||
|
# 'pointsize': '10pt',
|
||||||
|
|
||||||
|
# Additional stuff for the LaTeX preamble.
|
||||||
|
#
|
||||||
|
# 'preamble': '',
|
||||||
|
|
||||||
|
# Latex figure (float) alignment
|
||||||
|
#
|
||||||
|
# 'figure_align': 'htbp',
|
||||||
|
}
|
||||||
|
|
||||||
|
# Grouping the document tree into LaTeX files. List of tuples
|
||||||
|
# (source start file, target name, title,
|
||||||
|
# author, documentclass [howto, manual, or own class]).
|
||||||
|
latex_documents = [
|
||||||
|
(master_doc, 'Telethon.tex', 'Telethon Documentation',
|
||||||
|
'Jeff', 'manual'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for manual page output ---------------------------------------
|
||||||
|
|
||||||
|
# One entry per manual page. List of tuples
|
||||||
|
# (source start file, name, description, authors, manual section).
|
||||||
|
man_pages = [
|
||||||
|
(master_doc, 'telethon', 'Telethon Documentation',
|
||||||
|
[author], 1)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for Texinfo output -------------------------------------------
|
||||||
|
|
||||||
|
# Grouping the document tree into Texinfo files. List of tuples
|
||||||
|
# (source start file, target name, title, author,
|
||||||
|
# dir menu entry, description, category)
|
||||||
|
texinfo_documents = [
|
||||||
|
(master_doc, 'Telethon', 'Telethon Documentation',
|
||||||
|
author, 'Telethon', 'One line description of project.',
|
||||||
|
'Miscellaneous'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
54
readthedocs/extra/examples-signing-in.rst
Normal file
54
readthedocs/extra/examples-signing-in.rst
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
=========================
|
||||||
|
Signing In
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Two Factor Authorization (2FA)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you have Two Factor Authorization (from now on, 2FA) enabled on your account, calling
|
||||||
|
:meth:`telethon.TelegramClient.sign_in` will raise a `SessionPasswordNeededError`.
|
||||||
|
When this happens, just :meth:`telethon.TelegramClient.sign_in` again with a ``password=``:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
import getpass
|
||||||
|
from telethon.errors import SessionPasswordNeededError
|
||||||
|
|
||||||
|
client.sign_in(phone)
|
||||||
|
try:
|
||||||
|
client.sign_in(code=input('Enter code: '))
|
||||||
|
except SessionPasswordNeededError:
|
||||||
|
client.sign_in(password=getpass.getpass())
|
||||||
|
|
||||||
|
Enabling 2FA
|
||||||
|
*************
|
||||||
|
|
||||||
|
If you don't have 2FA enabled, but you would like to do so through Telethon, take as example the following code snippet:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
import os
|
||||||
|
from hashlib import sha256
|
||||||
|
from telethon.tl.functions import account
|
||||||
|
from telethon.tl.types.account import PasswordInputSettings
|
||||||
|
|
||||||
|
new_salt = client(account.GetPasswordRequest()).new_salt
|
||||||
|
salt = new_salt + os.urandom(8) # new random salt
|
||||||
|
|
||||||
|
pw = 'secret'.encode('utf-8') # type your new password here
|
||||||
|
hint = 'hint'
|
||||||
|
|
||||||
|
pw_salted = salt + pw + salt
|
||||||
|
pw_hash = sha256(pw_salted).digest()
|
||||||
|
|
||||||
|
result = client(account.UpdatePasswordSettingsRequest(
|
||||||
|
current_password_hash=salt,
|
||||||
|
new_settings=PasswordInputSettings(
|
||||||
|
new_salt=salt,
|
||||||
|
new_password_hash=pw_hash,
|
||||||
|
hint=hint
|
||||||
|
)
|
||||||
|
))
|
||||||
|
|
||||||
|
Thanks to `Issue 259 <https://github.com/LonamiWebs/Telethon/issues/259>`_ for the tip!
|
||||||
|
|
99
readthedocs/extra/examples-working-with-messages.rst
Normal file
99
readthedocs/extra/examples-working-with-messages.rst
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
=========================
|
||||||
|
Working with messages
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Forwarding messages
|
||||||
|
*******************
|
||||||
|
|
||||||
|
Note that ForwardMessageRequest_ (note it's Message, singular) will *not* work if channels are involved.
|
||||||
|
This is because channel (and megagroups) IDs are not unique, so you also need to know who the sender is
|
||||||
|
(a parameter this request doesn't have).
|
||||||
|
|
||||||
|
Either way, you are encouraged to use ForwardMessagesRequest_ (note it's Message*s*, plural) *always*,
|
||||||
|
since it is more powerful, as follows:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
from telethon.tl.functions.messages import ForwardMessagesRequest
|
||||||
|
# note the s ^
|
||||||
|
|
||||||
|
messages = foo() # retrieve a few messages (or even one, in a list)
|
||||||
|
from_entity = bar()
|
||||||
|
to_entity = baz()
|
||||||
|
|
||||||
|
client(ForwardMessagesRequest(
|
||||||
|
from_peer=from_entity, # who sent these messages?
|
||||||
|
id=[msg.id for msg in messages], # which are the messages?
|
||||||
|
to_peer=to_entity # who are we forwarding them to?
|
||||||
|
))
|
||||||
|
|
||||||
|
The named arguments are there for clarity, although they're not needed because they appear in order.
|
||||||
|
You can obviously just wrap a single message on the list too, if that's all you have.
|
||||||
|
|
||||||
|
|
||||||
|
Searching Messages
|
||||||
|
*******************
|
||||||
|
|
||||||
|
Messages are searched through the obvious SearchRequest_, but you may run into issues_. A valid example would be:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
result = client(SearchRequest(
|
||||||
|
entity, 'query', InputMessagesFilterEmpty(), None, None, 0, 0, 100
|
||||||
|
))
|
||||||
|
|
||||||
|
It's important to note that the optional parameter ``from_id`` has been left omitted and thus defaults to ``None``.
|
||||||
|
Changing it to InputUserEmpty_, as one could think to specify "no user", won't work because this parameter is a flag,
|
||||||
|
and it being unspecified has a different meaning.
|
||||||
|
|
||||||
|
If one were to set ``from_id=InputUserEmpty()``, it would filter messages from "empty" senders,
|
||||||
|
which would likely match no users.
|
||||||
|
|
||||||
|
If you get a ``ChatAdminRequiredError`` on a channel, it's probably because you tried setting the ``from_id`` filter,
|
||||||
|
and as the error says, you can't do that. Leave it set to ``None`` and it should work.
|
||||||
|
|
||||||
|
As with every method, make sure you use the right ID/hash combination for your ``InputUser`` or ``InputChat``,
|
||||||
|
or you'll likely run into errors like ``UserIdInvalidError``.
|
||||||
|
|
||||||
|
|
||||||
|
Sending stickers
|
||||||
|
*****************
|
||||||
|
|
||||||
|
Stickers are nothing else than ``files``, and when you successfully retrieve the stickers for a certain sticker set,
|
||||||
|
all you will have are ``handles`` to these files. Remember, the files Telegram holds on their servers can be referenced
|
||||||
|
through this pair of ID/hash (unique per user), and you need to use this handle when sending a "document" message.
|
||||||
|
This working example will send yourself the very first sticker you have:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
# Get all the sticker sets this user has
|
||||||
|
sticker_sets = client(GetAllStickersRequest(0))
|
||||||
|
|
||||||
|
# Choose a sticker set
|
||||||
|
sticker_set = sticker_sets.sets[0]
|
||||||
|
|
||||||
|
# Get the stickers for this sticker set
|
||||||
|
stickers = client(GetStickerSetRequest(
|
||||||
|
stickerset=InputStickerSetID(
|
||||||
|
id=sticker_set.id, access_hash=sticker_set.access_hash
|
||||||
|
)
|
||||||
|
))
|
||||||
|
|
||||||
|
# Stickers are nothing more than files, so send that
|
||||||
|
client(SendMediaRequest(
|
||||||
|
peer=client.get_me(),
|
||||||
|
media=InputMediaDocument(
|
||||||
|
id=InputDocument(
|
||||||
|
id=stickers.documents[0].id,
|
||||||
|
access_hash=stickers.documents[0].access_hash
|
||||||
|
),
|
||||||
|
caption=''
|
||||||
|
)
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
.. _ForwardMessageRequest: https://lonamiwebs.github.io/Telethon/methods/messages/forward_message.html
|
||||||
|
.. _ForwardMessagesRequest: https://lonamiwebs.github.io/Telethon/methods/messages/forward_messages.html
|
||||||
|
.. _SearchRequest: https://lonamiwebs.github.io/Telethon/methods/messages/search.html
|
||||||
|
.. _issues: https://github.com/LonamiWebs/Telethon/issues/215
|
||||||
|
.. _InputUserEmpty: https://lonamiwebs.github.io/Telethon/constructors/input_user_empty.html
|
66
readthedocs/extra/examples.rst
Normal file
66
readthedocs/extra/examples.rst
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
|
||||||
|
|
||||||
|
*****************
|
||||||
|
Examples
|
||||||
|
*****************
|
||||||
|
|
||||||
|
Prelude
|
||||||
|
---------
|
||||||
|
|
||||||
|
Before reading any specific example, make sure to read the following common steps:
|
||||||
|
|
||||||
|
All the examples assume that you have successfully created a client and you're authorized as follows:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
from telethon import TelegramClient
|
||||||
|
|
||||||
|
# Use your own values here
|
||||||
|
api_id = 12345
|
||||||
|
api_hash = '0123456789abcdef0123456789abcdef'
|
||||||
|
phone_number = '+34600000000'
|
||||||
|
|
||||||
|
client = TelegramClient('some_name', api_id, api_hash)
|
||||||
|
client.connect() # Must return True, otherwise, try again
|
||||||
|
|
||||||
|
if not client.is_user_authorized():
|
||||||
|
client.send_code_request(phone_number)
|
||||||
|
# .sign_in() may raise PhoneNumberUnoccupiedError
|
||||||
|
# In that case, you need to call .sign_up() to get a new account
|
||||||
|
client.sign_in(phone_number, input('Enter code: '))
|
||||||
|
|
||||||
|
# The `client´ is now ready
|
||||||
|
|
||||||
|
Although Python will probably clean up the resources used by the ``TelegramClient``,
|
||||||
|
you should always ``.disconnect()`` it once you're done:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Code using the client goes here
|
||||||
|
except:
|
||||||
|
# No matter what happens, always disconnect in the end
|
||||||
|
client.disconnect()
|
||||||
|
|
||||||
|
If the examples aren't enough, you're strongly advised to read the source code
|
||||||
|
for the InteractiveTelegramClient_ for an overview on how you could build your next script.
|
||||||
|
This example shows a basic usage more than enough in most cases. Even reading the source
|
||||||
|
for the TelegramClient_ may help a lot!
|
||||||
|
|
||||||
|
|
||||||
|
Signing In
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
examples-signing-in
|
||||||
|
|
||||||
|
|
||||||
|
Working with messages
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
examples-working-with-messages
|
||||||
|
|
||||||
|
|
||||||
|
.. _InteractiveTelegramClient: https://github.com/LonamiWebs/Telethon/blob/master/telethon_examples/interactive_telegram_client.py
|
||||||
|
.. _TelegramClient: https://github.com/LonamiWebs/Telethon/blob/master/telethon/telegram_client.py
|
103
readthedocs/extra/getting_started.rst
Normal file
103
readthedocs/extra/getting_started.rst
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
.. Telethon documentation master file, created by
|
||||||
|
sphinx-quickstart on Fri Nov 17 15:36:11 2017.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
|
||||||
|
=================
|
||||||
|
Getting Started!
|
||||||
|
=================
|
||||||
|
|
||||||
|
Installation
|
||||||
|
**************
|
||||||
|
|
||||||
|
To install Telethon, simply do:
|
||||||
|
|
||||||
|
``pip install telethon``
|
||||||
|
|
||||||
|
If you get something like ``"SyntaxError: invalid syntax"`` or any other error while installing, it's probably because ``pip`` defaults to Python 2, which is not supported. Use ``pip3`` instead.
|
||||||
|
|
||||||
|
If you already have the library installed, upgrade with:
|
||||||
|
|
||||||
|
``pip install --upgrade telethon``.
|
||||||
|
|
||||||
|
You can also install the library directly from GitHub or a fork:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
# pip install git+https://github.com/LonamiWebs/Telethon.git
|
||||||
|
or
|
||||||
|
$ git clone https://github.com/LonamiWebs/Telethon.git
|
||||||
|
$ cd Telethon/
|
||||||
|
# pip install -Ue .
|
||||||
|
|
||||||
|
If you don't have root access, simply pass the ``--user`` flag to the pip command.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Creating a client
|
||||||
|
**************
|
||||||
|
Before working with Telegram's API, you need to get your own API ID and hash:
|
||||||
|
|
||||||
|
1. Follow `this link <https://my.telegram.org/>`_ and login with your phone number.
|
||||||
|
|
||||||
|
2. Click under API Development tools.
|
||||||
|
|
||||||
|
3. A *Create new application* window will appear. Fill in your application details. There is no need to enter any *URL*, and only the first two fields (*App title* and *Short name*) can be changed later as far as I'm aware.
|
||||||
|
|
||||||
|
4. Click on *Create application* at the end. Remember that your **API hash is secret** and Telegram won't let you revoke it. Don't post it anywhere!
|
||||||
|
|
||||||
|
Once that's ready, the next step is to create a ``TelegramClient``. This class will be your main interface with Telegram's API, and creating one is very simple:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
from telethon import TelegramClient
|
||||||
|
|
||||||
|
# These example values won't work. You must get your own api_id and
|
||||||
|
# api_hash from https://my.telegram.org, under API Development.
|
||||||
|
api_id = 12345
|
||||||
|
api_hash = '0123456789abcdef0123456789abcdef'
|
||||||
|
phone = '+34600000000'
|
||||||
|
|
||||||
|
client = TelegramClient('session_name', api_id, api_hash)
|
||||||
|
client.connect()
|
||||||
|
|
||||||
|
# If you already have a previous 'session_name.session' file, skip this.
|
||||||
|
client.sign_in(phone=phone)
|
||||||
|
me = client.sign_in(code=77777) # Put whatever code you received here.
|
||||||
|
|
||||||
|
**More details**: `Click here <https://github.com/lonamiwebs/telethon/wiki/Creating-a-Client>`_
|
||||||
|
|
||||||
|
|
||||||
|
Simple Stuff
|
||||||
|
**************
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
print(me.stringify())
|
||||||
|
|
||||||
|
client.send_message('username', 'Hello! Talking to you from Telethon')
|
||||||
|
client.send_file('username', '/home/myself/Pictures/holidays.jpg')
|
||||||
|
|
||||||
|
client.download_profile_photo(me)
|
||||||
|
total, messages, senders = client.get_message_history('username')
|
||||||
|
client.download_media(messages[0])
|
||||||
|
|
||||||
|
|
||||||
|
Diving In
|
||||||
|
**************
|
||||||
|
|
||||||
|
.. note:: More info in our Wiki!
|
||||||
|
|
||||||
|
Sending Requests
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
`Here <https://github.com/lonamiwebs/telethon/wiki/Session-Files>`__
|
||||||
|
|
||||||
|
Working with updates
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
`Here <https://github.com/lonamiwebs/telethon/wiki/Working-with-Updates>`__
|
||||||
|
|
||||||
|
Accessing the full API
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
`Here <https://github.com/lonamiwebs/telethon/wiki/Accessing-the-Full-API>`__
|
||||||
|
|
40
readthedocs/index.rst
Normal file
40
readthedocs/index.rst
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
.. Telethon documentation master file, created by
|
||||||
|
sphinx-quickstart on Fri Nov 17 15:36:11 2017.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
Welcome to Telethon's documentation!
|
||||||
|
====================================
|
||||||
|
|
||||||
|
Pure Python 3 Telegram client library. Official Site `here <https://lonamiwebs.github.io/Telethon>`_.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
****************
|
||||||
|
Getting Started
|
||||||
|
****************
|
||||||
|
.. toctree::
|
||||||
|
extra/getting_started
|
||||||
|
|
||||||
|
|
||||||
|
***************
|
||||||
|
Examples
|
||||||
|
***************
|
||||||
|
.. toctree::
|
||||||
|
extra/examples
|
||||||
|
|
||||||
|
|
||||||
|
***************
|
||||||
|
Modules
|
||||||
|
***************
|
||||||
|
.. toctree::
|
||||||
|
telethon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|
36
readthedocs/make.bat
Normal file
36
readthedocs/make.bat
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
pushd %~dp0
|
||||||
|
|
||||||
|
REM Command file for Sphinx documentation
|
||||||
|
|
||||||
|
if "%SPHINXBUILD%" == "" (
|
||||||
|
set SPHINXBUILD=sphinx-build
|
||||||
|
)
|
||||||
|
set SOURCEDIR=.
|
||||||
|
set BUILDDIR=_build
|
||||||
|
set SPHINXPROJ=Telethon
|
||||||
|
|
||||||
|
if "%1" == "" goto help
|
||||||
|
|
||||||
|
%SPHINXBUILD% >NUL 2>NUL
|
||||||
|
if errorlevel 9009 (
|
||||||
|
echo.
|
||||||
|
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||||
|
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||||
|
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||||
|
echo.may add the Sphinx directory to PATH.
|
||||||
|
echo.
|
||||||
|
echo.If you don't have Sphinx installed, grab it from
|
||||||
|
echo.http://sphinx-doc.org/
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:help
|
||||||
|
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||||
|
|
||||||
|
:end
|
||||||
|
popd
|
7
readthedocs/modules.rst
Normal file
7
readthedocs/modules.rst
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
telethon
|
||||||
|
========
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 3
|
||||||
|
|
||||||
|
telethon
|
61
readthedocs/telethon.crypto.rst
Normal file
61
readthedocs/telethon.crypto.rst
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
telethon\.crypto package
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.crypto\.aes module
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.crypto.aes
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.crypto\.aes\_ctr module
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.crypto.aes_ctr
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.crypto\.auth\_key module
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.crypto.auth_key
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.crypto\.cdn\_decrypter module
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.crypto.cdn_decrypter
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.crypto\.factorization module
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.crypto.factorization
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.crypto\.libssl module
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.crypto.libssl
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.crypto\.rsa module
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.crypto.rsa
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
21
readthedocs/telethon.errors.rst
Normal file
21
readthedocs/telethon.errors.rst
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
telethon\.errors package
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.errors\.common module
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.errors.common
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.errors\.rpc\_base\_errors module
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.errors.rpc_base_errors
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
29
readthedocs/telethon.extensions.rst
Normal file
29
readthedocs/telethon.extensions.rst
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
telethon\.extensions package
|
||||||
|
============================
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.extensions\.binary\_reader module
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.extensions.binary_reader
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.extensions\.markdown module
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.extensions.markdown
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.extensions\.tcp\_client module
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.extensions.tcp_client
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
37
readthedocs/telethon.network.rst
Normal file
37
readthedocs/telethon.network.rst
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
telethon\.network package
|
||||||
|
=========================
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.network\.authenticator module
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.network.authenticator
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.network\.connection module
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.network.connection
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.network\.mtproto\_plain\_sender module
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.network.mtproto_plain_sender
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.network\.mtproto\_sender module
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.network.mtproto_sender
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
89
readthedocs/telethon.rst
Normal file
89
readthedocs/telethon.rst
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
telethon package
|
||||||
|
================
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.helpers module
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.helpers
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.telegram\_bare\_client module
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.telegram_bare_client
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.telegram\_client module
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.telegram_client
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.update\_state module
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.update_state
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.utils module
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.utils
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.cryto package
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
telethon.crypto
|
||||||
|
|
||||||
|
telethon\.errors package
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
telethon.errors
|
||||||
|
|
||||||
|
telethon\.extensions package
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
telethon.extensions
|
||||||
|
|
||||||
|
telethon\.network package
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
telethon.network
|
||||||
|
|
||||||
|
telethon\.tl package
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
telethon.tl
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Module contents
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. automodule:: telethon
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
12
readthedocs/telethon.tl.custom.rst
Normal file
12
readthedocs/telethon.tl.custom.rst
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
telethon\.tl\.custom package
|
||||||
|
============================
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.tl\.custom\.draft module
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.custom.draft
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
57
readthedocs/telethon.tl.rst
Normal file
57
readthedocs/telethon.tl.rst
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
telethon\.tl package
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
telethon.tl.custom
|
||||||
|
|
||||||
|
|
||||||
|
telethon\.tl\.entity\_database module
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.entity_database
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.gzip\_packed module
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.gzip_packed
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.message\_container module
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.message_container
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.session module
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.session
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.tl\_message module
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.tl_message
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
||||||
|
telethon\.tl\.tlobject module
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
.. automodule:: telethon.tl.tlobject
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user