Commit Graph

888 Commits

Author SHA1 Message Date
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
Dan
6b549ef077 Update to 0.7.4b1 2018-05-11 13:16:42 +02:00
Dan
6c5ab7ed8a Add possibility to choose a config file path 2018-05-11 13:10:49 +02:00
Dan
9bb8fe55da Remove unused import and class 2018-05-11 12:50:48 +02:00
Dan
9078639243 Add send_gif method 2018-05-11 12:41:18 +02:00
Dan
e1e0029cc5 Rename media type 1 to chat_photo 2018-05-11 11:57:05 +02:00
Dan
696a86791f Add GIF filter 2018-05-11 11:56:48 +02:00
Dan
84f9c2145c Add support for GIF files 2018-05-11 11:56:27 +02:00
Dan
30c6741ec6 Update Str class 2018-05-10 15:52:53 +02:00
Dan
89af1d0827 Fix unparse not taking surrogates into account 2018-05-10 15:25:01 +02:00
Dan
d41464e12e Small pattern fix 2018-05-10 15:11:13 +02:00
Dan
efeade88c1 Cleaner markdown 2018-05-10 15:07:03 +02:00
Dan
dc47d8e386 Add custom Str and use it for texts and captions.
This would allow usages like message.text.markdown which will
return the unparsed markdown text
2018-05-10 14:47:15 +02:00
Dan
b334b06117 Add markdown unparse method 2018-05-10 14:46:14 +02:00
Dan
ee5cfa740a Update develop version 2018-05-09 21:41:20 +02:00
Dan
cc9aeb290a Don't process empty messages 2018-05-09 21:40:24 +02:00
Dan
14f23d388c Clean get_history 2018-05-09 20:27:29 +02:00
Dan
781edda56a Handle get_messages flood wait 2018-05-09 19:50:57 +02:00
Dan
a1c3e40800 Make parse_messages accept a list of messages 2018-05-09 19:29:23 +02:00
Dan
65c67aaf57 Move download_media 2018-05-09 13:36:33 +02:00
Dan
8cc7cdba9a Remove text submodule 2018-05-09 13:08:16 +02:00
Dan
662d49d885 Add get_history.py 2018-05-09 13:06:32 +02:00
Dan
06e6579091 Update some inconsistent docstrings 2018-05-09 13:04:02 +02:00
Dan
07965850bf Fix some other method docstrings 2018-05-09 12:47:11 +02:00
Dan
746a0d0595 Fix send_contact and send_document docstrings 2018-05-09 12:44:43 +02:00
Dan
e6070cbc87 Fix send_audio docstrings 2018-05-09 12:43:38 +02:00
Dan
f92b74328f Fix send_chat_action docstrings 2018-05-09 12:38:09 +02:00
Dan
63b4f909df Split location parameter into lat and long 2018-05-09 12:33:51 +02:00
Dan
5be87a0dec Add Filters.bot 2018-05-08 18:08:51 +02:00
Dan
c0890d8cdb Make get_me return the new type 2018-05-07 16:45:05 +02:00
Dan
4f14dd7abe Remove the new parameter in export_chat_invite_link 2018-05-07 16:40:50 +02:00
Dan
3386fd040a Fix style 2018-05-07 16:38:11 +02:00
Dan
78ccb93bc1 Add TimeoutError on possible raises 2018-05-07 16:37:54 +02:00
Dan
bef0a24408 Small fixes 2018-05-07 15:55:41 +02:00
Dan
8454d438be Refactor the project by using Mixin classes
This will cut client.py down from ~4k to ~1k SLOC and also
makes the whole project tidier and more organized.
2018-05-07 14:30:55 +02:00
Dan
f5521370bb Add progress_args to download_media as well 2018-05-06 15:45:42 +02:00
Dan
00420aec92 Use the already computed channel_id 2018-05-06 15:06:32 +02:00
Dan
e270c7d5f8 Remove unpack_dispatch_and_ack method 2018-05-06 14:55:41 +02:00
Dan
7f27c43b30 Set develop version 2018-05-06 13:59:15 +02:00
Dan
9f3f4099d5 Handle timeouts when getting answers from inline bots 2018-05-05 19:42:38 +02:00
Dan
553e7f714c Add get_chat method 2018-05-05 18:42:28 +02:00
Dan
68986171ef Add photo_id 2018-05-05 18:11:14 +02:00
Dan
ef45288419 Change chat photo media id 2018-05-05 16:51:01 +02:00
Dan
7a79e5a0c4 Add media type 1 2018-05-04 18:37:36 +02:00
Dan
c58db10e9f Update to v0.7.3 2018-05-03 15:48:05 +02:00
Dan
14b6ced6e2 Remove unused import 2018-05-03 15:47:02 +02:00
Dan
cd9f2223e7 Some little fixes in case of ChatForbidden. Thanks @i-Naji 2018-05-03 15:45:57 +02:00
Dan
afc2a2e35d Use weakref proxy instead of ref 2018-05-03 15:44:55 +02:00
Dan
58952a7d98 Temporarily remove the debug feature 2018-05-02 23:06:22 +02:00
Dan
02ec86f4b2 Respect users' logger level, don't set to WARNING 2018-05-02 22:36:56 +02:00
Dan
074d98c209 Update to v0.7.2 2018-05-02 16:07:43 +02:00
Dan
32336a9bda Fix links 2018-05-02 16:00:48 +02:00
Dan
3d3c1e2c0e Use __name__ instead of .split(".")[-1] 2018-05-02 00:36:39 +02:00
Dan
f29b8bb7e4 Cache the session right after they start. Related to #68
@EriHoss is right, the session can know how to clean itself in
case for some reason it fails to start, hence it makes much more
sense to cache sessions right after they start. Also, clear the
media_sessions dict when stopping to get rid of closed sessions.
2018-05-01 21:08:47 +02:00
Dan
1dc43064fb Add a weakref to client instead 2018-05-01 20:40:47 +02:00
Dan
1b48f850bf Add new sessions to the media_sessions dict before starting them 2018-05-01 20:25:35 +02:00
Dan
83febf2e0c Cache media sessions. Related to #40. Fixes #68 2018-05-01 18:15:33 +02:00
Dan
943691fd18 Remove useless attribute 2018-05-01 11:52:14 +02:00
Dan
11aa46665e
Merge pull request #69 from EriHoss/stop_getfile_sessions
Make sure started Session is always stopped upon exceptions in Client.get_file
2018-05-01 11:45:51 +02:00
Eric Blundell
11d0eb6ea1 Make sure Session is always stopped upon exceptions in Client.get_file 2018-05-01 01:39:58 -05:00
Dan
20146ded28 Show only the type name (class) 2018-04-30 20:40:32 +02:00
Dan
2e81a2369d Make download_media hint string as acceptable type 2018-04-30 20:25:45 +02:00
Dan
35e1a76cef Fix pycharm warnings 2018-04-30 19:53:03 +02:00
Dan
47d5889612 Make ChatAction.from_string() static 2018-04-30 19:44:26 +02:00
Dan
a32e496fe3
Merge pull request #67 from JosXa/chataction-enum
Make ChatAction an Enum
2018-04-30 19:39:33 +02:00
Dan
fcb4c6d07b
Update client.py 2018-04-30 19:37:59 +02:00
Dan
9b9c7ced77
Update chat_action.py 2018-04-30 19:34:59 +02:00
Dan
4d81e6894d Make optional word italic 2018-04-30 19:30:16 +02:00
Dan
95bcfd9b26 Document reply_markup parameter 2018-04-30 19:28:16 +02:00