Dan
f0d059da07
First working (and ugly) way for fixing raw updates being swallowed
2019-01-30 17:16:50 +01:00
Dan
628ddd4a25
Update Client's docstrings
2019-01-27 11:24:23 +01:00
Dan
67a35f8c7e
Handle get_history flood waits
...
It's likely to get triggered when using iter_history (every ~3k msgs)
2019-01-27 11:13:10 +01:00
Dan
a8a6f53e2d
Fix the configuration load process breaking in case of no plugins
2019-01-26 13:01:44 +01:00
Dan
66ed6d53e3
Merge branch 'smart-plugins-enhancements' into develop
2019-01-25 09:22:06 +01:00
Dan
68509638c1
Merge branch 'develop' into layer-93
2019-01-24 17:21:57 +01:00
Dan
44deabf399
Update iter_chat_members efficiency
2019-01-24 17:21:41 +01:00
Dan
56e7bc9962
Update kick*, promote*, restrict* and unban_chat_member methods
...
For Layer 93
2019-01-24 17:20:29 +01:00
Dan
e9b1730318
Update ChatMember to use the new ChatPermissions type
2019-01-24 17:05:15 +01:00
Dan
1472b8236d
Add ChatPermissions type
2019-01-24 17:03:51 +01:00
Dan
e99f86b69f
Update media thumbs parsing for L93
2019-01-21 18:45:52 +01:00
Dan
cb0b8ebeae
Fix Chat sticker_set_name
2019-01-21 18:35:11 +01:00
Dan
c0a5b0a2c3
Fix kicked members reporting "left" as status
2019-01-21 16:56:22 +01:00
Dan
b919ed8242
Add restricted_by attribute in ChatMember ( #204 )
2019-01-21 16:53:54 +01:00
Dan
f0c8f65e9d
Add promoted_by attribute in ChatMember ( #204 )
2019-01-21 16:41:56 +01:00
Dan
16b7203ee9
Add invite_by attribute in ChatMember ( #204 )
2019-01-21 16:34:46 +01:00
Dan
a57ee7b333
Accommodate parsing of invited_by attribute of ChatMember ( #204 )
2019-01-21 16:33:33 +01:00
Dan
d6a1503344
Add "date" attribute to ChatMember ( #204 )
2019-01-21 15:38:36 +01:00
Dan
76d4e4f60e
Fix "left" status not being parsed in ChatMember ( #204 )
2019-01-21 15:36:54 +01:00
Dan
be013de4d4
Fix plugins load via Client parameter
2019-01-16 20:25:48 +01:00
Dan
6ec3b12aeb
Smart plugins enhancements
2019-01-16 15:54:48 +01:00
Dan
3d16a715ad
Fix file using wrong line separator
2019-01-16 15:46:46 +01:00
Dan
6df7788379
Enhance proxy settings
...
- Allow proxy settings to omit "enabled" key
- Allow setting proxy to None in order to disable it
2019-01-16 13:10:01 +01:00
Dan
4e02cd23a8
Make all send_* methods dealing with files aware of StopTransmission
2019-01-11 14:13:23 +01:00
Dan
2791600926
Hint about the returned value in case of stopped downloads
2019-01-11 14:12:53 +01:00
Dan
b37d4dc7ec
Make get_file and save_file handle StopTransmission errors
2019-01-11 14:03:16 +01:00
Dan
6b63e88de7
Add Client.stop_transmission() method
...
As a wrapper for raise StopTransmission
2019-01-11 14:02:40 +01:00
Dan
c28b9f9a2c
Add StopTransmission custom exception
...
Useful for stopping up/downloads after they started
2019-01-11 14:00:03 +01:00
Dan
d5ed47f4e9
Fix Message.download() not working when using the progress callback
2019-01-11 13:59:18 +01:00
Dan
200ed844fe
Fix first_name and last_name not being called if they are callable
2019-01-11 13:02:19 +01:00
Dan
161ab79eb3
Add Filters.media_group for photos or videos being part of an album.
2019-01-11 12:51:01 +01:00
Dan
1d8fd0b836
Make Filters.regex work on message captions too
2019-01-11 12:46:41 +01:00
Dan
07276e31b9
Add restart method
2019-01-11 12:36:37 +01:00
Dan
19b8f648d2
Fix bad behaviours for Python <3.6
...
Pyrogram was relying on dict keys being "ordered"
(keys keeping insertion order).
2019-01-11 12:31:18 +01:00
Dan
66f70450aa
Allow phone_number, phone_code and password to also be functions
...
Also add recovery_code
References #163
2019-01-08 14:28:52 +01:00
Dan
8928ca3433
Rename game_score to game_high_score
2019-01-07 22:50:54 +01:00
Dan
ee472329a2
Move get_game_high_scores method into bots folder
2019-01-07 22:35:17 +01:00
Dan
dc737ab7bb
Add GameHighScore and GameHighScores types
2019-01-07 22:30:33 +01:00
Dan
633fefe178
Add get_game_high_scores method
2019-01-07 22:28:41 +01:00
Dan
65bdf31ce1
Move send_game and set_game_score into bots folder
2019-01-07 22:26:52 +01:00
Dan
33e83bf635
Update set_game_score docstrings
2019-01-07 22:19:21 +01:00
Dan
9771be9c2a
Add send_game and set_game_score methods
2019-01-07 21:49:58 +01:00
Dan
1bbf048b7a
Remove duplicated references
2019-01-07 21:49:25 +01:00
Dan
7ae9a065b8
Update examples
2019-01-07 10:34:38 +01:00
Dan
491b96c9f6
Use "recent" filter for up to 10k members
2019-01-07 10:00:42 +01:00
Dan
6451d599b2
Fix typo
2019-01-07 08:30:40 +01:00
Dan
bb27633da6
Add game and game_score in Message
2019-01-05 23:13:47 +01:00
Dan
50e5692eae
Add Filters.game and Filters.game_score. Also fix Filters.animation name
2019-01-05 23:12:59 +01:00
Dan
d5303285d6
Add support for Game inline buttons. Add CallbackGame type
2019-01-05 23:12:29 +01:00
Dan
7d061a1b5c
Add Game type
2019-01-05 23:11:39 +01:00
Dan
a50dba2b4c
Add close_poll method
2019-01-05 14:44:10 +01:00
Dan
7e354b12bf
Fix kick_chat_member docstrings and return type
2019-01-04 23:15:57 +01:00
Dan
b8a3d02eef
Fix get_messages return type
2019-01-04 23:12:06 +01:00
Dan
153439ac88
Add iter_chat_members method. Reference #170
2019-01-04 17:13:44 +01:00
Dan
d7e3397050
Update get_chat_members docstrings
2019-01-04 16:59:36 +01:00
Dan
e1cac13f0d
Fix get_dialogs docstrings
2019-01-04 16:58:57 +01:00
Dan
948f2b44ed
Add iter_dialogs method. Reference #170
2019-01-04 16:10:34 +01:00
Dan
4d1d70082b
Sleep in case of get_dialogs flood waits
2019-01-04 16:08:05 +01:00
Dan
8628d3a56d
Add iter_history method
...
For #170
2019-01-04 15:37:08 +01:00
Dan
fbc18cace0
Update get_history docstrings
2019-01-04 15:36:43 +01:00
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