Commit Graph

1056 Commits

Author SHA1 Message Date
Dan
a2b4d59cdb Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/methods/users/get_user_profile_photos.py
2018-06-28 20:10:38 +02:00
Dan
6943e16636 Change new_chat_photo type. It is now Photo 2018-06-28 20:04:46 +02:00
Dan
b6206b7938 Fix small docstring issue 2018-06-28 20:03:50 +02:00
Dan
bae7b4c851 Make Photo importable from the top level package 2018-06-28 20:02:31 +02:00
Dan
30497b0e91 Add delete_profile_photos method 2018-06-28 19:59:26 +02:00
Dan
0dfe373c88 Make Photo work in download_media 2018-06-28 19:13:47 +02:00
Dan
fbf69fb8bd Change photo type in Message 2018-06-28 19:09:27 +02:00
Dan
abbf7e6684 Use Photo as type for UserProfilePhotos photos list 2018-06-28 19:08:21 +02:00
Dan
b8bfb43a80 Use Photo as type for new_chat_photo 2018-06-28 19:07:56 +02:00
Dan
a3761144b3 Use Photo as type for media messages 2018-06-28 19:07:02 +02:00
Dan
fb10b3b0e7 UserProfilePhoto.photos is now a list of Photo objects 2018-06-28 19:05:47 +02:00
Dan
971299f592 PhotoSize won't store date info anymore 2018-06-28 19:05:08 +02:00
Dan
5f87bbc962 Add the new Photo type 2018-06-28 19:04:45 +02:00
Dan
be451a3bb2 Rename parse_photos to parse_profile_photos 2018-06-28 18:49:09 +02:00
Dan
0935c4837f Fix ReplyKeyboardRemove id 2018-06-28 18:41:16 +02:00
Dan
2f1d447783 Move INITIAL_SALT to Session 2018-06-28 17:50:37 +02:00
Dan
4f4531cf18 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/session/session.py
2018-06-28 00:41:11 +02:00
Dan
6e4c608875 Handle AUTH_KEY_DUPLICATED error 2018-06-28 00:16:12 +02:00
Dan
77c696aec0 Merge branch 'develop' into asyncio 2018-06-27 17:21:14 +02:00
Dan
37aae4382e Update to v0.7.5 2018-06-27 16:38:41 +02:00
Dan
7ed9cd6759 Add "Login successful" message upon login 2018-06-27 14:42:04 +02:00
Dan
ecaba45523 Keep only lang_code 2018-06-27 00:42:32 +02:00
Dan
fc1c653c05 Add TimeoutError on possible raises of Message.click() 2018-06-26 16:16:10 +02:00
Dan
1cc66c898d Fix request_callback_answer call with wrong kwarg 2018-06-26 14:05:45 +02:00
Dan
9dff15bd4f Make run() accept coroutine functions 2018-06-26 13:45:31 +02:00
Dan
5e3618ccb7 Merge branch 'develop' into asyncio 2018-06-25 01:00:32 +02:00
Dan
04a86054b0 Update to dev version 0.7.5.dev5 2018-06-25 00:53:45 +02:00
Dan
4970a98b43 Merge branch 'develop' into asyncio 2018-06-25 00:46:06 +02:00
Dan
3409963a4a Merge branch 'develop' of https://github.com/pyrogram/pyrogram into develop 2018-06-25 00:45:34 +02:00
Dan
2587394e07 Merge branch 'layer-81' into develop 2018-06-25 00:43:47 +02:00
YoilyL
a04b08f245
Fixed tiny typo 2018-06-24 22:58:17 +03:00
Dan
c8468ccdd1 Merge branch 'develop' into asyncio 2018-06-24 19:29:31 +02:00
Dan
c7d60ef8a6 Fix disconnect handler callback being called on every session 2018-06-24 19:29:12 +02:00
Dan
5f727cb5a2 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/ext/base_client.py
#	pyrogram/client/methods/bots/request_callback_answer.py
#	pyrogram/session/session.py
2018-06-24 19:27:37 +02:00
Dan
fa7b7d0ce3 Cleanup Client class 2018-06-24 19:09:39 +02:00
Dan
9c420bb73b Document the new parameters. Closes #86 2018-06-24 19:09:39 +02:00
Dan
9a012077cc Remove some redundant code. Related to #86 2018-06-24 18:54:47 +02:00
Dan
55ef4abb27 Allow user-defined session properties. Related to #86
This commit adds five 5 extra parameters to the Client class:
app_version, device_model, system_version, system_lang_code, lang_code
2018-06-24 18:47:49 +02:00
Dan
f4c0793a0b Make session leaner by removing some redundant parameters
Related to #86
2018-06-24 18:27:41 +02:00
Dan
56f616c753 Mention timeout and retries in docs for request_callback_answer 2018-06-24 17:50:30 +02:00
Dan
166b3646ac Make request_callback_answer try only once with a timeout of 10 seconds 2018-06-24 17:48:33 +02:00
Dan
69d1432251 Allow user-defined values for retries and timeout 2018-06-24 17:47:29 +02:00
Dan
44f71f096f Better docs for phone_code argument 2018-06-24 16:53:07 +02:00
Dan
47043380fb Pass the phone number when calling the phone_code callback function 2018-06-24 16:11:22 +02:00
Dan
66f91b1b63 Update dev version 2018-06-24 14:31:06 +02:00
Dan
81c8fca11c Make the on_disconnect callback function a coroutine 2018-06-24 11:40:43 +02:00
Dan
5834e38f14 Make run() accept a coroutine 2018-06-24 11:39:50 +02:00
Dan
0cd4795318 Use TOS provided by Telegram 2018-06-23 16:15:44 +02:00
Dan
602f4581c6 Remove custom TOS 2018-06-23 16:15:09 +02:00
Dan
668da4ae0e Merge branch 'tos' into layer-81
# Conflicts:
#	pyrogram/client/ext/base_client.py
2018-06-23 16:11:20 +02:00
Dan
fc541221ed Accept terms of service after successfully signing in 2018-06-23 16:08:28 +02:00
Dan
06cb2a1168 Move try..except block at the top 2018-06-23 16:00:37 +02:00
Dan
d06097c68a Use uvloop, if available 2018-06-23 15:53:56 +02:00
Dan
c9cd79cb05 Fix merge mess with duplicated idle() methods 2018-06-23 15:49:56 +02:00
Dan
518d33ee7a Merge branch 'develop' into asyncio 2018-06-23 15:46:41 +02:00
Dan
7f11f85c8f Move signal handler inside idle 2018-06-23 15:45:48 +02:00
Dan
7ba2906532 Make request_callback_answer async 2018-06-23 14:31:21 +02:00
Dan
811e67c229 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/types/message.py
2018-06-23 14:30:27 +02:00
Dan
03a17dd8db Rename reply_text() to reply()
Is shorter and looks nicer. When more methods like reply_audio(),
reply_photo(), etc. will be implemented, I can consider adding
reply_text() back again, maybe.
2018-06-23 14:24:31 +02:00
Dan
d95086163e Add click() bound method to Message 2018-06-23 14:09:07 +02:00
Dan
2ee7cf5124 Add request_callback_answer method 2018-06-23 12:29:40 +02:00
Dan
6404862b87 Add reply_keyboard and inline_keyboard filters 2018-06-23 10:36:29 +02:00
Dan
8074ef1368 Make methods directory structure simple 2018-06-23 10:34:20 +02:00
Dan
5446801c14 Make run() run the event loop 2018-06-22 13:39:29 +02:00
Dan
2571bf0758 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
2018-06-22 13:37:56 +02:00
Dan
82a0c965ba Don't make start and idle clickable 2018-06-22 13:12:31 +02:00
Dan
e3299bb3b7 Add run() method 2018-06-22 13:10:09 +02:00
Dan
ffd67ed408 Remove debug docstrings 2018-06-22 13:08:27 +02:00
Dan
dab0a05f16 Move idle() and signal_handler() definitions near stop() 2018-06-22 13:08:01 +02:00
Dan
6be8f1aae3 Cross reference Handler classes on decorators' docstrings 2018-06-22 12:46:58 +02:00
Dan
ac47ffad8f Hint about decorators on handlers' docstrings 2018-06-22 12:46:35 +02:00
Dan
f5659841c2 Reformat files 2018-06-21 20:01:05 +02:00
Dan
532ad6bd81 Fix develop merge issues with asyncio branch 2018-06-21 18:02:16 +02:00
Dan
d2a15d8143 Merge branch 'develop' into asyncio 2018-06-21 15:35:27 +02:00
Dan
ff915965f1
Minor style fixes 2018-06-21 15:33:30 +02:00
Dan
f9c17ae169 Merge branch 'develop' into asyncio
# Conflicts:
#	pyrogram/client/client.py
2018-06-20 12:24:30 +02:00
Dan
1c4047f2c6
Fix Update docstrings 2018-06-20 12:20:48 +02:00
Dan
afc0c87cd3
Fix DeletedMessagesHandler docstrings 2018-06-20 12:19:32 +02:00
Dan
c5fb0d6079
Use -100 prefix for channel ids 2018-06-20 12:15:55 +02:00
Dan
6fcf41d857 Client becomes async 2018-06-20 11:41:22 +02:00
Vitali
872f4f865a Fix comments 2018-06-19 11:27:34 -03:00
Vitali
e6c6bd839c Add Handler to deleted messages update 2018-06-19 11:18:12 -03:00
Dan
399a7b6403 Make Message bound methods async 2018-06-19 14:02:49 +02:00
Dan
e0fe9d3525 Fix some methods not being async 2018-06-19 13:48:49 +02:00
Dan
4d72f84991 Even more async chore 2018-06-18 21:30:13 +02:00
Dan
21af0f3e82 More async chore 2018-06-18 21:22:33 +02:00
Dan
26e828b956 Make BaseClient asynchronous and default DOWNLOAD_WORKERS to 4 2018-06-18 21:21:26 +02:00
Dan
09dd715556 Small tweaks 2018-06-18 21:12:04 +02:00
Dan
e3a667a8fe Make Syncer asynchronous (lol) 2018-06-18 21:11:28 +02:00
Dan
8049c9129b Make Auth asynchronous 2018-06-18 13:07:02 +02:00
Dan
9a5ce0fe2d Clean up dispatcher and fix workers not being stopped correctly 2018-06-18 13:06:07 +02:00
Dan
1bc599e26c Delegate timeout to TCP 2018-06-17 19:20:22 +02:00
Dan
b249062d25 Add a warning in case the connection failed 2018-06-17 19:17:56 +02:00
Dan
5d58ff2d94 Raise OSError in case "send" fails 2018-06-17 18:45:08 +02:00
Dan
52354b93d0 Add timeout when connecting 2018-06-17 18:44:45 +02:00
Dan
0a6583a43c Turn the Dispatcher async 2018-06-17 18:41:07 +02:00
Dan
57f917e6df Don't print out the current salt 2018-06-17 18:39:08 +02:00
Dan
f983baf5cd Add some more logs 2018-06-17 18:34:37 +02:00
Dan
6da15b266d Await tasks before stopping the session 2018-06-17 18:34:10 +02:00
Dan
2b0746a140 Add timeout on recv loop 2018-06-17 18:33:23 +02:00
Dan
39b66b51d6 Remove salt assertion 2018-06-16 22:05:54 +02:00
Dan
d1d789bf20 Fix restart not awaiting 2018-06-15 14:30:13 +02:00
Dan
d06e486c8b Reorganize imports 2018-06-14 13:30:46 +02:00
Dan
eeaf01654b Code style 2018-06-14 13:05:22 +02:00
Dan
b1f6131971 Remove unused constant 2018-06-14 13:04:52 +02:00
Dan
775cbb568f Small fixes 2018-06-14 03:27:30 +02:00
Dan
68133e8be5 Better logs 2018-06-14 03:26:57 +02:00
Dan
463ef828c2 Use put_nowait instead of put 2018-06-14 03:25:15 +02:00
Dan
2cf930bea0 Remove commented MTProto methods 2018-06-14 03:24:39 +02:00
Dan
11ddf5f99d Reorganize Session to make use of the MTProto module 2018-06-14 03:22:52 +02:00
Dan
75121c9c57 Move MTProto related methods into a separate module 2018-06-14 03:18:38 +02:00
Dan
0b03612bc7 Make restart async 2018-06-13 21:01:28 +02:00
Dan
b4d69d0b21 Merge remote-tracking branch 'origin/develop' into develop 2018-06-13 20:54:04 +02:00
Dan
329bac6ab0 Better invite link regex pattern 2018-06-13 20:53:31 +02:00
Dan
a9ccbaca19 Fix ping request not awaiting 2018-06-13 20:03:54 +02:00
Dan
f76c654548 Add TODO 2018-06-13 20:02:02 +02:00
Dan
e333e8dada First step of Client conversion using asyncio 2018-06-13 20:00:19 +02:00
YoilyL
2944181b38
fixed session mistake
use new session when uploading files instead of main session
2018-06-13 17:54:48 +03:00
Dan
e2546e77ae Start rewriting Session using asyncio 2018-06-12 15:56:33 +02:00
Dan
d64337bf90 Implement Intermediate protocol using asyncio 2018-06-11 12:25:30 +02:00
Dan
ead0b4f029 Use more relevant names for Connection fields 2018-06-10 16:15:19 +02:00
Dan
6ab60c0d36 Add type hint 2018-06-10 16:14:42 +02:00
Dan
dc322ddf1a Expose TCP class 2018-06-10 16:14:30 +02:00
Dan
7a6d7d0037 Implement async TCP protocol 2018-06-09 19:36:23 +02:00
Dan
de39c181ef Start refactoring Connection to accommodate asyncio 2018-06-08 13:10:07 +02:00
Dan
8e2aec4d3a Show TOS on sign-ins 2018-06-07 12:54:23 +02:00
Dan
244b4f15ce Remove duplicate parameter 2018-06-07 10:54:45 +02:00
Dan
682a3ae948 Dispatch inline bot callback queries 2018-06-06 12:29:21 +02:00
Dan
6238f984b4 Add dedicated parse function for inline callback queries 2018-06-06 12:29:05 +02:00
Dan
e3bd7d57a2 Remove TODO 2018-06-06 12:28:36 +02:00
Dan
656e5036c1 Fix callback query id not being a string 2018-06-06 12:28:25 +02:00
Dan
901b151718 Fix wrong line separator 2018-06-05 17:15:17 +02:00
Dan
2a79243841 Rename and rework Setup docs page 2018-06-05 16:37:57 +02:00
Dan
95e16c2e6c Rename and rework Installation docs page 2018-06-05 16:36:37 +02:00
Dan
6d7de359f0 Add a link to available methods in docs 2018-06-05 16:28:14 +02:00
Dan
0b2efd2b7a Register the new chat administration methods 2018-06-04 12:21:48 +02:00
Dan
5bf912640f Add promote_chat_member.py 2018-06-04 12:21:14 +02:00
Dan
f611a92f90 Add restrict_chat_member.py 2018-06-04 12:21:02 +02:00
Dan
ea282a74dd Add unban_chat_member.py 2018-06-04 12:20:41 +02:00
Dan
0f9b4c6ac6 Add kick_chat_member.py 2018-06-04 12:07:42 +02:00
Dan
c88ca2e4f5 Add namespaces when printing Object types 2018-06-04 11:58:22 +02:00
Dan
62d4b2aeee Allow defining case sensitive commands with Filters.command 2018-06-04 11:35:38 +02:00
Dan
2125415f8f Allow empty and multi-character prefixes in Filters.command 2018-06-04 10:13:11 +02:00
Dan
36a1015ec9 Hide _client when printing pyrogram object 2018-06-04 09:11:58 +02:00
Dan
d67dfd39da Update system messages TL scheme 2018-06-03 18:07:04 +02:00
Dan
745049bda3 Protect client by renaming the property to _client 2018-06-03 17:54:57 +02:00
Dan
7752aef338 Add delete convenience method to Message objects 2018-06-03 17:50:24 +02:00
Dan
e94520b7bc Fix reply_text docstrings and add the Example section 2018-06-03 17:40:59 +02:00
Dan
131d792bad Add forward convenience method to Message objects 2018-06-03 17:40:28 +02:00
Dan
29dcdbdc92 Add reply_text convenience method to Message objects 2018-06-03 17:14:15 +02:00
Dan
91cf103783 Remove a bunch of useless TODOs 2018-06-02 20:54:23 +02:00
Dan
dc7fe93aeb Clean up code 2018-06-02 20:52:16 +02:00
Dan
b4a2490da2 Use getpass instead of input 2018-06-01 19:27:05 +02:00
Dan
dacc0173f1 Document on_disconnect 2018-05-31 13:15:47 +02:00
Dan
118cd04a73 Document DisconnectHandler 2018-05-31 13:13:38 +02:00
Dan
0dc5ecf28c Revert "Make send_message recognise the Empty parse mode"
This reverts commit e1e6e4b
2018-05-31 13:03:28 +02:00
Dan
73c101b49d Revert "Add Empty parse mode"
This reverts commit d8dbcb5
2018-05-31 13:03:20 +02:00
Dan
cc2c3509be Add TCPIntermediateO to Connection modes 2018-05-30 19:29:45 +02:00
Dan
98ebad3428 Add TCP Intermediate obfuscated protocol 2018-05-30 19:29:03 +02:00
Dan
55010e4f1f Add TCPAbridgedO to Connection modes 2018-05-29 12:20:42 +02:00
Dan
0866dfa1dd Make TCPAbridgedO importable 2018-05-28 19:58:36 +02:00
Dan
78aa7aea2a Add TCP Abridged obfuscated protocol 2018-05-28 19:57:57 +02:00
Dan
e1e6e4bd70 Make send_message recognise the Empty parse mode 2018-05-27 20:24:42 +02:00
Dan
d8dbcb5b4e Add Empty parse mode 2018-05-27 20:16:30 +02:00
Dan
93218a6ed7 Remove handlers lock 2018-05-26 18:04:17 +02:00
Dan
b04bce9dba Lower connection retries to 3 2018-05-25 14:26:01 +02:00
Dan
81d3d5956c Don't try to indefinitely reconnect at Connection layer 2018-05-25 12:37:03 +02:00
Dan
00b983ccc3 Fix proxy not being correctly updated 2018-05-25 11:52:40 +02:00
Dan
65c209000c Connection refactoring 2018-05-24 21:19:57 +02:00
Dan
9001ccd11f Add DisconnectHandler 2018-05-23 14:27:17 +02:00
Dan
8a5743ef0c Allow FloodWait to be raised in case of non-interactive sign-ins 2018-05-22 16:16:28 +02:00
Dan
49414799e2 Update dev version 2018-05-21 13:59:31 +02:00
Dan
b451ced0fe Revert back to previous tgcrypto function names 2018-05-21 09:27:56 +02:00
Dan
28310cb0a7 Add GIFs to media filter 2018-05-20 14:03:16 +02:00
Dan
43526876a4 Split handlers in files 2018-05-20 12:53:00 +02:00
Dan
5b300ef83c Fix some GIF not having video attributes 2018-05-20 12:45:37 +02:00
Dan
1cd7e28b50 Rename TCP protocol impl files 2018-05-19 15:50:10 +02:00
Dan
c5911a6f6b Reorganize AES module 2018-05-19 15:36:38 +02:00
Dan
f0c801be8c Rename AES class methods and add ctr256_encrypt 2018-05-18 14:15:35 +02:00
Dan
c531e6d146 Rename protocol impl files 2018-05-18 13:47:47 +02:00
Dan
f69da98c99 Remove TODO 2018-05-17 16:49:35 +02:00
Dan
5f414626ef Refactor tcp_intermediate 2018-05-16 21:14:05 +02:00
Dan
64fe9163d2 Refactor tcp_abridged 2018-05-15 19:17:22 +02:00
Dan
963c4e9a7a Update develop version 2018-05-14 00:52:26 +02:00
Dan
3d74941bed Add slots 2018-05-14 00:48:53 +02:00
Dan
0955826b6c Change sig and parent class init call 2018-05-14 00:48:18 +02:00
Dan
33207c2138 Lazily compute html and markdown styled texts 2018-05-14 00:02:58 +02:00
Dan
2398de716c Update to v0.7.4 2018-05-13 09:40:34 +02:00
Dan
31cfeaa68b Allow downloading GIFs 2018-05-13 08:37:31 +02:00
Dan
5dff2fe604 Fix get_history in chats with less than 100 messages 2018-05-12 15:36:47 +02:00
Dan
0367c765e2 Document get_chat 2018-05-12 11:33:14 +02:00
Dan
d2713cb234 Document get_contacts 2018-05-12 11:31:09 +02:00
Dan
4e383c68d4 Fix typo 2018-05-12 11:24:30 +02:00
Dan
b9156453da Fix docstring for argument being optional 2018-05-12 11:21:02 +02:00
Dan
e081637f37 Remove pyrogram types IDs from docs 2018-05-12 11:17:51 +02:00
Dan
afffd5b4af Allow entities to span in multiple lines 2018-05-12 10:51:24 +02:00
Dan
ef93fee7aa Add new Messages object and make get_history return it 2018-05-11 18:00:16 +02:00
Dan
f7aca803b1 Hint about text.markdown in docstrings 2018-05-11 16:03:25 +02:00
Dan
34d7749dbf Add html attribute to message.text 2018-05-11 13:38:12 +02:00
Dan
c0f61fd40c Add html unparse 2018-05-11 13:37:49 +02:00