Commit Graph

1122 Commits

Author SHA1 Message Date
Dan
04542dbddf Make parsing multiple Messages more efficient
This is achieved by not calling get_messages for each single reply.
Instead, all the available replies are retrieved in one request only.
2019-01-04 14:42:39 +01:00
Dan
7e3513f8ee Wait in case of flood errors in get_messages 2019-01-04 14:38:08 +01:00
Dan
fe89974523 Add get_history signature to BaseClient
Also make other method parameters generic
2019-01-04 14:37:26 +01:00
Dan
fe4e8c5a42 Rename get_history's "reversed" parameter to "reverse"
It was colliding with the built-in "reversed" function
2019-01-04 14:36:42 +01:00
Dan
36f987e979 Add Filters.me
Useful to filter messages coming from the current running user.
Does the same thing as Filters.user("me")
2019-01-03 20:58:38 +01:00
Dan
d69a93d253 Automatically cast message and caption arguments to str 2019-01-03 20:53:48 +01:00
Dan
4f6990d735 Add takeout parameter in Client
This lets the client use a takeout session instead of a normal one.
Takeout sessions are useful for exporting Telegram data. Methods invoked
inside a takeout session are less prone to throw FloodWait exceptions.
2019-01-03 12:20:42 +01:00
Dan
b53ba81a6a Add no_updates parameter in Client
Useful to completely disable incoming updates for batch programs
2019-01-03 11:13:24 +01:00
Dan
372bbabe28 Make invite links of public channels work with get_chat 2019-01-02 22:39:16 +01:00
Dan
1f8f313398 Fix broken ChatMember parser working on already parsed Users 2019-01-02 19:13:01 +01:00
Dan
1960b00280 Add a way to stop iterating through handlers
Closes #125
2019-01-02 18:11:22 +01:00
Dan
f440b1f969
Add missing colon 2019-01-02 17:27:40 +01:00
Dan
4d7b1bafac Update copyright year 2019-01-01 12:36:16 +01:00
Dan
21dbbc3f0b Fix style parsers randomly returning "unsorted" dicts.
This is due to Python <3.6 having "unsorted" dicts. Dicts are inherently
unsorted, but starting from Python 3.6 they keep the order in which the
keys are inserted (useful for unpacking)
2018-12-31 17:13:50 +01:00
Dan
490b8bf579 Fix get_message getting infinite replies 2018-12-31 12:02:15 +01:00
Dan
5dcc19cfb3 Move download_media into messages and media namespace 2018-12-28 15:18:01 +01:00
Dan
64ec26850e Document save_file 2018-12-28 15:16:46 +01:00
Dan
c907e8146a Allow get_chat to work with chat invite links 2018-12-28 14:34:47 +01:00
Dan
0e62b3472a Add get_chat_preview method and ChatPreview object 2018-12-28 14:26:00 +01:00
Dan
3814471af4 Change get_dialogs behaviour
It now accepts an offset_date instead of an offset_dialog
2018-12-27 23:56:45 +01:00
Dan
decaa9e7f0 Rename downwards to reversed 2018-12-27 23:55:56 +01:00
Dan
233e0920a2
Merge branch 'develop' into develop 2018-12-27 23:52:40 +01:00
Dan
1eee4b77e1 Pin/unpin_chat_message don't raise a ValueError anymore 2018-12-25 23:08:45 +01:00
Dan
7e4b96cfdf Suppress PyPep8Naming soft-warnings 2018-12-25 16:20:09 +01:00
Dan
d91acfe2ca Re-implement password-protected log-ins and support password recovery 2018-12-25 15:41:55 +01:00
Dan
fccadf526e Merge branch 'develop' into future
# Conflicts:
#	pyrogram/__init__.py
2018-12-25 14:36:59 +01:00
Dan
1e3612c781 Merge branch 'layer-85' into future
# Conflicts:
#	compiler/api/source/main_api.tl
#	pyrogram/client/methods/password/change_cloud_password.py
#	pyrogram/client/methods/password/enable_cloud_password.py
#	pyrogram/client/methods/password/remove_cloud_password.py
2018-12-25 14:34:56 +01:00
Dan
00e4e385aa Allow bots to message old chats even if they don't exist in the session 2018-12-24 22:31:45 +01:00
Dan
6e964b51b1 Type hint on_message decorator 2018-12-24 14:50:04 +01:00
Dan
098b06d1b7 Fix poll docstrings and vote_poll wrong attribute access 2018-12-24 14:32:53 +01:00
Dan
c833b3842a Put PollOption back in a separate file, its docstrings must be visible 2018-12-24 14:19:21 +01:00
Dan
c4280f017e Add hide_via parameter to send_inline_bot_result 2018-12-24 14:13:47 +01:00
Dan
a551f1fe1e Fix Filters.poll docstrings link to Poll type 2018-12-23 19:52:49 +01:00
Dan
1d676a76db Merge branch 'develop' into future 2018-12-23 19:51:54 +01:00
Dan
9fe04ff7cd Fix filter links to Objects 2018-12-23 19:51:45 +01:00
Dan
3fe7fb20be Document retract_vote 2018-12-23 17:06:34 +01:00
Dan
2994929903 Document Poll 2018-12-23 17:00:51 +01:00
Dan
03d6c49d92 Document send_poll method 2018-12-23 17:00:51 +01:00
Dan
f477171344 Document vote_poll 2018-12-23 17:00:51 +01:00
Dan
03aa5094f7 Add retract_vote method 2018-12-23 17:00:51 +01:00
Dan
10f1e06326 Rework vote_poll to work with all polls generated by different clients 2018-12-23 17:00:51 +01:00
Dan
1f82eaa26f Add vote_poll method 2018-12-23 17:00:51 +01:00
Dan
0ce7498f81 Parse the pinned message on basic chats too 2018-12-23 17:00:51 +01:00
Dan
2b568afd2a Refactor Poll.
Move PollAnswer into poll.py and rename it to PollOption
2018-12-23 17:00:50 +01:00
Dan
2101dfb8db Show a meaningful error and hint to read more when using cloud password 2018-12-23 01:09:20 +01:00
Dan
0371f4ce8b Make cloud password methods raise NotImplementedError. See #178
The protocol changed (SRP) and they are currently not re-implemented.
2018-12-23 01:05:44 +01:00
Dan
7ee89c94cb Update pin/unpin_chat_message
It is now possible to pin messages in basic groups as well as in the
own user's chat.
2018-12-23 01:00:31 +01:00
Dan
84fef9ecf1 Add missing file_reference argument where applicable 2018-12-23 00:55:00 +01:00
Dan
e669a6a9ae Add send_poll method 2018-12-23 00:33:15 +01:00
Dan
8eab47123a Add Filters.poll to filter Poll messages 2018-12-22 23:55:16 +01:00
Dan
2b25b9469b Parse Poll objects inside Message 2018-12-22 23:55:04 +01:00
Dan
1ef3bc758f Export Poll and PollAnswer types 2018-12-22 23:54:42 +01:00
Dan
aef02f049c Add Poll and PollAnswer types 2018-12-22 23:54:18 +01:00
Dan
4bf6831be8 Fix some non-importable types for type hint 2018-12-22 11:22:58 +01:00
Dan
a0355a5cc4 Type hint all methods return values 2018-12-19 15:59:15 +01:00
Dan
bf0b947253 Type hint all Client methods 2018-12-19 14:55:48 +01:00
Dan
b593463bd7 Type hint all the remaining method parameters 2018-12-19 14:50:23 +01:00
Dan
4fb9969470 Replace Client with BaseClient type hint 2018-12-19 14:45:16 +01:00
Dan
5035daa9d7 Type hint all Pyrogram types 2018-12-19 13:29:58 +01:00
Dan
e8fbae3166 Make all parse methods protected to hide them from the lib user 2018-12-19 13:00:33 +01:00
Dan
b79f395d37 Type hint Message 2018-12-19 12:30:25 +01:00
Dan
26ef8ea953 Revert to the old style 2018-12-19 10:59:49 +01:00
Dan
510b2456b6 Reword offset_dialog docstrings in Dialog 2018-12-19 10:27:47 +01:00
Dan
8f6f38e0b0 Merge branch 'develop' into new-parsers 2018-12-18 11:22:47 +01:00
Dan
bc824f738c Add extra warnings when sign-ins or sign-ups fail 2018-12-18 11:21:37 +01:00
Dan
c9bcf93cf7 Add extra checks in case sign-in or sign-up fails 2018-12-18 10:10:04 +01:00
Dan
e203a5500f Don't treat messages containing web page previews as media 2018-12-18 10:07:40 +01:00
Dan
914dfca574 Reformat code and optimize imports 2018-12-18 09:50:39 +01:00
Dan
27052e31ca Fix all those unresolved references caused by the refactor 2018-12-18 09:45:49 +01:00
Dan
dc2792fbea Ditch raw attribute. There's no use for it now 2018-12-18 08:48:20 +01:00
Dan
761a07bda8 Remove unneeded parts in utils.py 2018-12-17 16:42:16 +01:00
Dan
1344e95be6 Use the new parsers in dispatcher.py 2018-12-17 16:40:06 +01:00
Dan
2a1a6301a6 Add Messages.parse_delete method 2018-12-17 16:37:58 +01:00
Dan
6a0a271d24 Fix broken UpdateStatus in case of incoming updates 2018-12-17 16:28:16 +01:00
Dan
1873344467 Update get_users to use the refactored User type 2018-12-17 16:27:16 +01:00
Dan
6bc2db7157 Better way of parsing total_count for Messages and UserProfilePhotos 2018-12-17 16:14:32 +01:00
Dan
e6dced80cf Update get_dialogs to use the new refactored Dialogs type 2018-12-17 16:13:57 +01:00
Dan
ccf677f3a0 Refactor Dialog and Dialogs 2018-12-17 16:13:28 +01:00
Dan
8c02a1553d Add Chat.parse_dialog 2018-12-17 16:12:53 +01:00
Dan
603bc88aa3 Refactor get_history method 2018-12-17 14:18:41 +01:00
Dan
7b90a0e7c5 Refactor Messages 2018-12-17 14:18:15 +01:00
Dan
5bc9e0fc75 Fix Video not having client and raw attributes set 2018-12-17 14:17:57 +01:00
Dan
8cbb9c9316 Refactor UserProfilePhotos 2018-12-17 13:51:08 +01:00
Dan
a683e3e917 Refactor bot keyboard types 2018-12-17 13:16:05 +01:00
Dan
3f643242b1 Reformat encoder style 2018-12-17 13:03:08 +01:00
Dan
d31a696f32 Fix encoder breaking with bytes 2018-12-17 13:02:22 +01:00
Dan
52b9319734 Refactor CallbackQuery 2018-12-17 13:01:41 +01:00
Dan
92118e3608 Reformat __init__ parameters 2018-12-17 12:45:35 +01:00
Dan
e9a362923f Cache stickers 2018-12-17 12:42:29 +01:00
Dan
ac8258f451 Move Str into message.py 2018-12-17 12:40:32 +01:00
Dan
c6a0bf0791 Force named arguments on Pyrogram types 2018-12-16 22:34:23 +01:00
Dan
7430529646 Make use of the refactored Chat type in get_chat 2018-12-16 17:59:34 +01:00
Dan
5d64de10dc Add Chat.parse_full 2018-12-16 17:58:32 +01:00
Dan
31b046e5cc Use the refactored types in get_chat_member(s) 2018-12-16 17:58:05 +01:00
Dan
66cd896a99 Allow passing raw 2018-12-16 17:10:55 +01:00
Dan
cffafa8c61 Small fixed to PyrogramType 2018-12-16 17:10:08 +01:00
Dan
d62bc1d8ba Refactor ChatMember and ChatMembers 2018-12-16 16:22:46 +01:00
Dan
3ecbb35470 Delete Update 2018-12-16 15:26:56 +01:00
Dan
6ab1c87050 Add PyrogramType 2018-12-16 15:24:51 +01:00
Dan
5ecbfbf25f Refactor Message and MessageEntity 2018-12-16 14:30:44 +01:00