2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-31 14:25:55 +00:00

Revamp docs about the main Pyrogram package

This commit is contained in:
Dan
2019-05-09 04:28:46 +02:00
parent ee91e6daa1
commit 1737ba5f49
171 changed files with 1116 additions and 919 deletions

View File

@@ -44,6 +44,8 @@ extensions = [
'sphinx.ext.autosummary'
]
napoleon_use_rtype = False
# Don't show source files on docs
html_show_sourcelink = True
@@ -112,7 +114,7 @@ html_theme = 'sphinx_rtd_theme'
#
html_theme_options = {
'canonical_url': "https://docs.pyrogram.ml/",
'collapse_navigation': False,
'collapse_navigation': True,
'sticky_navigation': False,
'logo_only': True,
'display_version': True

View File

@@ -1,162 +0,0 @@
Client
======
.. currentmodule:: pyrogram.Client
.. autoclass:: pyrogram.Client
Utilities
---------
.. autosummary::
:nosignatures:
start
stop
restart
idle
run
add_handler
remove_handler
send
resolve_peer
save_file
stop_transmission
Decorators
----------
.. autosummary::
:nosignatures:
on_message
on_callback_query
on_inline_query
on_deleted_messages
on_user_status
on_disconnect
on_raw_update
Messages
--------
.. autosummary::
:nosignatures:
send_message
forward_messages
send_photo
send_audio
send_document
send_sticker
send_video
send_animation
send_voice
send_video_note
send_media_group
send_location
send_venue
send_contact
send_cached_media
send_chat_action
edit_message_text
edit_message_caption
edit_message_reply_markup
edit_message_media
delete_messages
get_messages
get_history
get_history_count
iter_history
send_poll
vote_poll
stop_poll
retract_vote
download_media
Chats
-----
.. autosummary::
:nosignatures:
join_chat
leave_chat
kick_chat_member
unban_chat_member
restrict_chat_member
promote_chat_member
export_chat_invite_link
set_chat_photo
delete_chat_photo
set_chat_title
set_chat_description
pin_chat_message
unpin_chat_message
get_chat
get_chat_preview
get_chat_member
get_chat_members
get_chat_members_count
iter_chat_members
get_dialogs
iter_dialogs
get_dialogs_count
restrict_chat
update_chat_username
Users
-----
.. autosummary::
:nosignatures:
get_me
get_users
get_user_profile_photos
get_user_profile_photos_count
set_user_profile_photo
delete_user_profile_photos
update_username
Contacts
--------
.. autosummary::
:nosignatures:
add_contacts
get_contacts
get_contacts_count
delete_contacts
Password
--------
.. autosummary::
:nosignatures:
enable_cloud_password
change_cloud_password
remove_cloud_password
Bots
----
.. autosummary::
:nosignatures:
get_inline_bot_results
send_inline_bot_result
answer_callback_query
answer_inline_query
request_callback_answer
send_game
set_game_score
get_game_high_scores
answer_inline_query
.. autoclass:: pyrogram.Client
:inherited-members:
:members:

View File

@@ -0,0 +1,47 @@
Decorators
==========
While still being methods bound to the :obj:`Client` class, decorators are of a special kind and thus deserve a
dedicated page.
Decorators are able to register callback functions for handling updates in a much easier and cleaner way compared to
`Handlers <Handlers.html>`_; they do so by instantiating the correct handler and calling
:meth:`add_handler() <pyrogram.Client.add_handler>`, automatically. All you need to do is adding the decorators on top
of your functions.
**Example:**
.. code-block:: python
from pyrogram import Client
app = Client(...)
@app.on_message()
def log(client, message):
print(message)
app.run()
.. currentmodule:: pyrogram.Client
.. autosummary::
:nosignatures:
on_message
on_callback_query
on_inline_query
on_deleted_messages
on_user_status
on_disconnect
on_raw_update
.. automethod:: pyrogram.Client.on_message()
.. automethod:: pyrogram.Client.on_callback_query()
.. automethod:: pyrogram.Client.on_inline_query()
.. automethod:: pyrogram.Client.on_deleted_messages()
.. automethod:: pyrogram.Client.on_user_status()
.. automethod:: pyrogram.Client.on_disconnect()
.. automethod:: pyrogram.Client.on_raw_update()

View File

@@ -0,0 +1,28 @@
Errors
======
All the Pyrogram errors listed here live inside the ``errors`` sub-package.
**Example:**
.. code-block:: python
from pyrogram.errors import RPCError
try:
...
except RPCError:
...
.. autoexception:: pyrogram.RPCError()
:members:
.. toctree::
../errors/SeeOther
../errors/BadRequest
../errors/Unauthorized
../errors/Forbidden
../errors/NotAcceptable
../errors/Flood
../errors/InternalServerError
../errors/UnknownError

View File

@@ -1,6 +1,29 @@
Handlers
========
Handlers are used to instruct Pyrogram about which kind of updates you'd like to handle with your callback functions.
For a much more convenient way of registering callback functions have a look at `Decorators <Decorators.html>`_ instead.
In case you decided to manually create an handler, use :meth:`add_handler() <pyrogram.Client.add_handler>` to register
it.
**Example:**
.. code-block:: python
from pyrogram import Client, MessageHandler
app = Client(...)
def dump(client, message):
print(message)
app.add_handler(MessageHandler(dump))
app.run()
.. currentmodule:: pyrogram
.. autosummary::
@@ -14,24 +37,24 @@ Handlers
DisconnectHandler
RawUpdateHandler
.. autoclass:: MessageHandler
.. autoclass:: MessageHandler()
:members:
.. autoclass:: DeletedMessagesHandler
.. autoclass:: DeletedMessagesHandler()
:members:
.. autoclass:: CallbackQueryHandler
.. autoclass:: CallbackQueryHandler()
:members:
.. autoclass:: InlineQueryHandler
.. autoclass:: InlineQueryHandler()
:members:
.. autoclass:: UserStatusHandler
.. autoclass:: UserStatusHandler()
:members:
.. autoclass:: DisconnectHandler
.. autoclass:: DisconnectHandler()
:members:
.. autoclass:: RawUpdateHandler
.. autoclass:: RawUpdateHandler()
:members:

View File

@@ -0,0 +1,270 @@
Methods
=======
All Pyrogram methods listed here are bound to a :obj:`Client <pyrogram.Client>` instance.
**Example:**
.. code-block:: python
from pyrogram import Client
app = Client(...)
with app:
app.send_message("haskell", "hi")
.. currentmodule:: pyrogram.Client
Utilities
---------
.. autosummary::
:nosignatures:
start
stop
restart
idle
run
add_handler
remove_handler
send
resolve_peer
save_file
stop_transmission
Messages
--------
.. autosummary::
:nosignatures:
send_message
forward_messages
send_photo
send_audio
send_document
send_sticker
send_video
send_animation
send_voice
send_video_note
send_media_group
send_location
send_venue
send_contact
send_cached_media
send_chat_action
edit_message_text
edit_message_caption
edit_message_reply_markup
edit_message_media
delete_messages
get_messages
get_history
get_history_count
iter_history
send_poll
vote_poll
stop_poll
retract_vote
download_media
Chats
-----
.. autosummary::
:nosignatures:
join_chat
leave_chat
kick_chat_member
unban_chat_member
restrict_chat_member
promote_chat_member
export_chat_invite_link
set_chat_photo
delete_chat_photo
set_chat_title
set_chat_description
pin_chat_message
unpin_chat_message
get_chat
get_chat_preview
get_chat_member
get_chat_members
get_chat_members_count
iter_chat_members
get_dialogs
iter_dialogs
get_dialogs_count
restrict_chat
update_chat_username
Users
-----
.. autosummary::
:nosignatures:
get_me
get_users
get_user_profile_photos
get_user_profile_photos_count
set_user_profile_photo
delete_user_profile_photos
update_username
Contacts
--------
.. autosummary::
:nosignatures:
add_contacts
get_contacts
get_contacts_count
delete_contacts
Password
--------
.. autosummary::
:nosignatures:
enable_cloud_password
change_cloud_password
remove_cloud_password
Bots
----
.. autosummary::
:nosignatures:
get_inline_bot_results
send_inline_bot_result
answer_callback_query
answer_inline_query
request_callback_answer
send_game
set_game_score
get_game_high_scores
answer_inline_query
.. Utilities
---------
.. automethod:: pyrogram.Client.start()
.. automethod:: pyrogram.Client.stop()
.. automethod:: pyrogram.Client.restart()
.. automethod:: pyrogram.Client.idle()
.. automethod:: pyrogram.Client.run()
.. automethod:: pyrogram.Client.add_handler()
.. automethod:: pyrogram.Client.remove_handler()
.. automethod:: pyrogram.Client.send()
.. automethod:: pyrogram.Client.resolve_peer()
.. automethod:: pyrogram.Client.save_file()
.. automethod:: pyrogram.Client.stop_transmission()
.. Messages
--------
.. automethod:: pyrogram.Client.send_message()
.. automethod:: pyrogram.Client.forward_messages()
.. automethod:: pyrogram.Client.send_photo()
.. automethod:: pyrogram.Client.send_audio()
.. automethod:: pyrogram.Client.send_document()
.. automethod:: pyrogram.Client.send_sticker()
.. automethod:: pyrogram.Client.send_video()
.. automethod:: pyrogram.Client.send_animation()
.. automethod:: pyrogram.Client.send_voice()
.. automethod:: pyrogram.Client.send_video_note()
.. automethod:: pyrogram.Client.send_media_group()
.. automethod:: pyrogram.Client.send_location()
.. automethod:: pyrogram.Client.send_venue()
.. automethod:: pyrogram.Client.send_contact()
.. automethod:: pyrogram.Client.send_cached_media()
.. automethod:: pyrogram.Client.send_chat_action()
.. automethod:: pyrogram.Client.edit_message_text()
.. automethod:: pyrogram.Client.edit_message_caption()
.. automethod:: pyrogram.Client.edit_message_reply_markup()
.. automethod:: pyrogram.Client.edit_message_media()
.. automethod:: pyrogram.Client.delete_messages()
.. automethod:: pyrogram.Client.get_messages()
.. automethod:: pyrogram.Client.get_history()
.. automethod:: pyrogram.Client.get_history_count()
.. automethod:: pyrogram.Client.iter_history()
.. automethod:: pyrogram.Client.send_poll()
.. automethod:: pyrogram.Client.vote_poll()
.. automethod:: pyrogram.Client.stop_poll()
.. automethod:: pyrogram.Client.retract_vote()
.. automethod:: pyrogram.Client.download_media()
.. Chats
-----
.. automethod:: pyrogram.Client.join_chat()
.. automethod:: pyrogram.Client.leave_chat()
.. automethod:: pyrogram.Client.kick_chat_member()
.. automethod:: pyrogram.Client.unban_chat_member()
.. automethod:: pyrogram.Client.restrict_chat_member()
.. automethod:: pyrogram.Client.promote_chat_member()
.. automethod:: pyrogram.Client.export_chat_invite_link()
.. automethod:: pyrogram.Client.set_chat_photo()
.. automethod:: pyrogram.Client.delete_chat_photo()
.. automethod:: pyrogram.Client.set_chat_title()
.. automethod:: pyrogram.Client.set_chat_description()
.. automethod:: pyrogram.Client.pin_chat_message()
.. automethod:: pyrogram.Client.unpin_chat_message()
.. automethod:: pyrogram.Client.get_chat()
.. automethod:: pyrogram.Client.get_chat_preview()
.. automethod:: pyrogram.Client.get_chat_member()
.. automethod:: pyrogram.Client.get_chat_members()
.. automethod:: pyrogram.Client.get_chat_members_count()
.. automethod:: pyrogram.Client.iter_chat_members()
.. automethod:: pyrogram.Client.get_dialogs()
.. automethod:: pyrogram.Client.iter_dialogs()
.. automethod:: pyrogram.Client.get_dialogs_count()
.. automethod:: pyrogram.Client.restrict_chat()
.. automethod:: pyrogram.Client.update_chat_username()
.. Users
-----
.. automethod:: pyrogram.Client.get_me()
.. automethod:: pyrogram.Client.get_users()
.. automethod:: pyrogram.Client.get_user_profile_photos()
.. automethod:: pyrogram.Client.get_user_profile_photos_count()
.. automethod:: pyrogram.Client.set_user_profile_photo()
.. automethod:: pyrogram.Client.delete_user_profile_photos()
.. automethod:: pyrogram.Client.update_username()
.. Contacts
--------
.. automethod:: pyrogram.Client.add_contacts()
.. automethod:: pyrogram.Client.get_contacts()
.. automethod:: pyrogram.Client.get_contacts_count()
.. automethod:: pyrogram.Client.delete_contacts()
.. Password
--------
.. automethod:: pyrogram.Client.enable_cloud_password()
.. automethod:: pyrogram.Client.change_cloud_password()
.. automethod:: pyrogram.Client.remove_cloud_password()
.. Bots
----
.. automethod:: pyrogram.Client.get_inline_bot_results()
.. automethod:: pyrogram.Client.send_inline_bot_result()
.. automethod:: pyrogram.Client.answer_callback_query()
.. automethod:: pyrogram.Client.answer_inline_query()
.. automethod:: pyrogram.Client.request_callback_answer()
.. automethod:: pyrogram.Client.send_game()
.. automethod:: pyrogram.Client.set_game_score()
.. automethod:: pyrogram.Client.get_game_high_scores()
.. automethod:: pyrogram.Client.answer_inline_query()

View File

@@ -1,6 +0,0 @@
ParseMode
=========
.. autoclass:: pyrogram.ParseMode
:members:
:undoc-members:

View File

@@ -1,15 +0,0 @@
RPCError
========
.. autoexception:: pyrogram.RPCError
:members:
.. toctree::
../errors/SeeOther
../errors/BadRequest
../errors/Unauthorized
../errors/Forbidden
../errors/NotAcceptable
../errors/Flood
../errors/InternalServerError
../errors/UnknownError

View File

@@ -1,6 +1,19 @@
Types
=====
All Pyrogram types listed here are accessible through the main package directly.
**Example:**
.. code-block:: python
from pyrogram import User, Message, ...
.. note::
**Optional** fields may not exist when irrelevant -- i.e.: they will contain the value of ``None`` and aren't shown
when, for example, using ``print()``.
.. currentmodule:: pyrogram
Users & Chats
@@ -42,11 +55,12 @@ Messages & Media
Location
Venue
Sticker
Game
Poll
PollOption
Bots
----
Keyboards
---------
.. autosummary::
:nosignatures:
@@ -58,7 +72,8 @@ Bots
InlineKeyboardButton
ForceReply
CallbackQuery
Game
GameHighScore
CallbackGame
Input Media
-----------
@@ -96,168 +111,168 @@ InputMessageContent
.. User & Chats
------------
.. autoclass:: User
.. autoclass:: User()
:members:
.. autoclass:: UserStatus
.. autoclass:: UserStatus()
:members:
.. autoclass:: Chat
.. autoclass:: Chat()
:members:
.. autoclass:: ChatPreview
.. autoclass:: ChatPreview()
:members:
.. autoclass:: ChatPhoto
.. autoclass:: ChatPhoto()
:members:
.. autoclass:: ChatMember
.. autoclass:: ChatMember()
:members:
.. autoclass:: ChatMembers
.. autoclass:: ChatMembers()
:members:
.. autoclass:: ChatPermissions
.. autoclass:: ChatPermissions()
:members:
.. autoclass:: Dialog
.. autoclass:: Dialog()
:members:
.. autoclass:: Dialogs
.. autoclass:: Dialogs()
:members:
.. Messages & Media
----------------
.. autoclass:: Message
.. autoclass:: Message()
:members:
.. autoclass:: Messages
.. autoclass:: Messages()
:members:
.. autoclass:: MessageEntity
.. autoclass:: MessageEntity()
:members:
.. autoclass:: Photo
.. autoclass:: Photo()
:members:
.. autoclass:: PhotoSize
.. autoclass:: PhotoSize()
:members:
.. autoclass:: UserProfilePhotos
.. autoclass:: UserProfilePhotos()
:members:
.. autoclass:: Audio
.. autoclass:: Audio()
:members:
.. autoclass:: Document
.. autoclass:: Document()
:members:
.. autoclass:: Animation
.. autoclass:: Animation()
:members:
.. autoclass:: Video
.. autoclass:: Video()
:members:
.. autoclass:: Voice
.. autoclass:: Voice()
:members:
.. autoclass:: VideoNote
.. autoclass:: VideoNote()
:members:
.. autoclass:: Contact
.. autoclass:: Contact()
:members:
.. autoclass:: Location
.. autoclass:: Location()
:members:
.. autoclass:: Venue
.. autoclass:: Venue()
:members:
.. autoclass:: Sticker
.. autoclass:: Sticker()
:members:
.. autoclass:: Poll
.. autoclass:: Game()
:members:
.. autoclass:: PollOption
.. autoclass:: Poll()
:members:
.. Bots
----
.. autoclass:: ReplyKeyboardMarkup
.. autoclass:: PollOption()
:members:
.. autoclass:: KeyboardButton
.. Keyboards
---------
.. autoclass:: ReplyKeyboardMarkup()
:members:
.. autoclass:: ReplyKeyboardRemove
.. autoclass:: KeyboardButton()
:members:
.. autoclass:: InlineKeyboardMarkup
.. autoclass:: ReplyKeyboardRemove()
:members:
.. autoclass:: InlineKeyboardButton
.. autoclass:: InlineKeyboardMarkup()
:members:
.. autoclass:: ForceReply
.. autoclass:: InlineKeyboardButton()
:members:
.. autoclass:: CallbackQuery
.. autoclass:: ForceReply()
:members:
.. autoclass:: Game
.. autoclass:: CallbackQuery()
:members:
.. autoclass:: GameHighScore
.. autoclass:: GameHighScore()
:members:
.. autoclass:: GameHighScores
.. autoclass:: CallbackGame()
:members:
.. Input Media
-----------
.. autoclass:: InputMedia
.. autoclass:: InputMedia()
:members:
.. autoclass:: InputMediaPhoto
.. autoclass:: InputMediaPhoto()
:members:
.. autoclass:: InputMediaVideo
.. autoclass:: InputMediaVideo()
:members:
.. autoclass:: InputMediaAudio
.. autoclass:: InputMediaAudio()
:members:
.. autoclass:: InputMediaAnimation
.. autoclass:: InputMediaAnimation()
:members:
.. autoclass:: InputMediaDocument
.. autoclass:: InputMediaDocument()
:members:
.. autoclass:: InputPhoneContact
.. autoclass:: InputPhoneContact()
:members:
.. Inline Mode
-----------
.. autoclass:: InlineQuery
.. autoclass:: InlineQuery()
:members:
.. autoclass:: InlineQueryResult
.. autoclass:: InlineQueryResult()
:members:
.. autoclass:: InlineQueryResultArticle
.. autoclass:: InlineQueryResultArticle()
:members:
.. InputMessageContent
-------------------
.. autoclass:: InputMessageContent
.. autoclass:: InputMessageContent()
:members:
.. autoclass:: InputTextMessageContent
.. autoclass:: InputTextMessageContent()
:members:

View File

@@ -4,17 +4,18 @@ Pyrogram
In this section you can find a detailed description of the Pyrogram package and its API.
:class:`Client <pyrogram.Client>` is the main class. It exposes easy-to-use methods that are named
after the well established `Telegram Bot API`_ methods, thus offering a familiar look to Bot developers.
after the well established Telegram Bot API methods, thus offering a familiar look to Bot developers.
.. toctree::
:maxdepth: 1
Client
Types
Methods
Handlers
Decorators
Filters
ChatAction
ParseMode
RPCError
Errors
.. _Telegram Bot API: https://core.telegram.org/bots/api#available-methods
.. autoclass:: pyrogram.Client()