From 755aa363ee87d8615aaaec9bc8f03b4a6a37e5dd Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Tue, 27 Mar 2018 18:22:01 +0200 Subject: [PATCH] Update some out of date examples in the documentation --- .../extra/examples/chats-and-channels.rst | 21 ++++++++++----- .../extra/examples/working-with-messages.rst | 26 ++++++++++++------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/readthedocs/extra/examples/chats-and-channels.rst b/readthedocs/extra/examples/chats-and-channels.rst index 7836a348..c64502b2 100644 --- a/readthedocs/extra/examples/chats-and-channels.rst +++ b/readthedocs/extra/examples/chats-and-channels.rst @@ -11,10 +11,9 @@ Working with Chats and Channels Joining a chat or channel ************************* -Note that `Chat`__\ s are normal groups, and `Channel`__\ s are a -special form of `Chat`__\ s, -which can also be super-groups if their ``megagroup`` member is -``True``. +Note that :tl:`Chat` are normal groups, and :tl:`Channel` are a +special form of ``Chat``, which can also be super-groups if +their ``megagroup`` member is ``True``. Joining a public channel @@ -101,6 +100,13 @@ __ https://lonamiwebs.github.io/Telethon/methods/messages/check_chat_invite.html Retrieving all chat members (channels too) ****************************************** +You can use +:obj:`client.get_participants `` +to retrieve the participants (click it to see the relevant parameters). +Most of the time you will just need ``client.get_participants(entity)``. + +This is what said method is doing behind the scenes as an example. + In order to get all the members from a mega-group or channel, you need to use `GetParticipantsRequest`__. As we can see it needs an `InputChannel`__, (passing the mega-group or channel you're going to @@ -134,9 +140,10 @@ a fixed limit: .. note:: - It is **not** possible to get more than 10,000 members from a - group. It's a hard limit impossed by Telegram and there is - nothing you can do about it. Refer to `issue 573`__ for more. + If you need more than 10,000 members from a group you should use the + mentioned ``client.get_participants(..., aggressive=True)``. It will + do some tricks behind the scenes to get as many entities as possible. + Refer to `issue 573`__ for more on this. Note that ``GetParticipantsRequest`` returns `ChannelParticipants`__, diff --git a/readthedocs/extra/examples/working-with-messages.rst b/readthedocs/extra/examples/working-with-messages.rst index e2471a25..5ff04539 100644 --- a/readthedocs/extra/examples/working-with-messages.rst +++ b/readthedocs/extra/examples/working-with-messages.rst @@ -11,18 +11,27 @@ 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: +This request is available as a friendly method through +:obj:`client.forward_messages ``, +and can be used like shown below: .. code-block:: python + # If you only have the message IDs + client.forward_messages( + entity, # to which entity you are forwarding the messages + message_ids, # the IDs of the messages (or message) to forward + from_entity # who sent the messages? + ) + + # If you have ``Message`` objects + client.forward_messages( + entity, # to which entity you are forwarding the messages + messages # the messages (or message) to forward + ) + + # You can also do it manually if you prefer 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() @@ -119,7 +128,6 @@ send yourself the very first sticker you have: )) -.. _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