Commit Graph

790 Commits

Author SHA1 Message Date
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
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
7f11f85c8f Move signal handler inside idle 2018-06-23 15:45:48 +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
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
ff915965f1
Minor style fixes 2018-06-21 15:33: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
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
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
YoilyL
2944181b38
fixed session mistake
use new session when uploading files instead of main session
2018-06-13 17:54:48 +03: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
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
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
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
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
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
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
c5911a6f6b Reorganize AES module 2018-05-19 15:36:38 +02:00
Dan
f69da98c99 Remove TODO 2018-05-17 16:49:35 +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
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
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
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
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
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
32336a9bda Fix links 2018-05-02 16:00:48 +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
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
Dan
bfe6632de4 Fix index out of range for new messages 2018-04-30 19:21:58 +02:00
Dan
a7650c457d Add progress_args parameter 2018-04-30 19:09:57 +02:00
JosXa
33dd708831 enumeration "class" 2018-04-30 16:36:18 +02:00
JosXa
5b492bae9d Docstring 2018-04-30 16:32:21 +02:00
JosXa
abf89688ed Also allow strings for send_chat_action 2018-04-30 16:28:43 +02:00
JosXa
e2d80a6087 Made ChatAction an Enum 2018-04-30 16:11:50 +02:00
JosXa
72e95fd322 Made ChatAction an Enum 2018-04-30 16:03:18 +02:00
Dan
e6b4f0e743 Make delete_messages accept iterables 2018-04-30 14:25:11 +02:00
Dan
b41c009962 Make forward_messages accept iterables 2018-04-30 14:24:05 +02:00
Dan
59ab1591d2 Make get_users accept iterables 2018-04-30 14:22:13 +02:00
Dan
8f8e1cfa25 Make get_messages accept iterables 2018-04-30 14:18:13 +02:00
Dan
53b0736975 Make add_handler return (handler, group) tuple 2018-04-30 13:31:11 +02:00
Dan
deed74840a Make send_message return the correct Message type 2018-04-30 13:13:30 +02:00
Dan
e2224054d2 Merge branch 'remove-handler-and-locks' of https://github.com/JosXa/pyrogram into JosXa-remove-handler-and-locks
# Conflicts:
#	pyrogram/client/dispatcher/dispatcher.py
2018-04-30 10:30:34 +02:00
Dan
f824e69b5a
Update client.py 2018-04-30 10:15:34 +02:00
JosXa
bb607e56be Added locks for modifying and iterating handlers
Added `remove_handler` method
Made `add_handler` return a (handler, group) tuple
2018-04-30 00:15:24 +02:00
Dan
33c417942c Clear thread lists when stopping. Related to #62 2018-04-29 20:20:34 +02:00
Dan
2c253b2fbc Cleanup docstrings and add some entries to the docs 2018-04-29 19:24:06 +02:00
Dan
d3472fd052 Add CallbackQuery to docs 2018-04-29 19:06:35 +02:00
Dan
4eed293933 Document on_callback_query 2018-04-29 18:46:35 +02:00
Dan
c32e1d9444 Document answer_callback_query 2018-04-29 18:37:03 +02:00
Dan
99a2c54992 Small fixes 2018-04-29 18:36:55 +02:00
Dan
4918be5d22 Add edit_message_reply_markup method 2018-04-29 18:31:29 +02:00
Dan
ac9a263f3d Add reply_markup argument for edit_message_* methods 2018-04-29 18:31:15 +02:00
Dan
34d7f3372f Rework delete_messages 2018-04-29 18:13:50 +02:00
Dan
b8996b1147 Remove chat field for now, it can be accessed via message.chat 2018-04-29 17:29:48 +02:00
Dan
d6bdf5f38b Fix typo 2018-04-29 17:29:46 +02:00
Dan
9c7935702f Add callback query support 2018-04-28 23:48:38 +02:00
Dan
c1459aa22c Add get_users method 2018-04-28 13:24:54 +02:00
Dan
4f937b2220 Add reply_markup parameter to all send_* methods 2018-04-28 09:53:21 +02:00
Dan
489bd4ac38 Remove message_parser, move all functions in utils 2018-04-28 09:38:07 +02:00
Dan
dafc574bd5 Remove a stupid comma that made "command" act like a tuple 2018-04-28 09:33:37 +02:00
Dan
3b314c92fb Move IDs at the bottom 2018-04-28 09:09:44 +02:00
Dan
01034c174a Make get_user_profile_photos return the correct type 2018-04-28 09:04:45 +02:00
Dan
750caa7471 Fix reply keyboard markup writing 2018-04-28 08:47:32 +02:00
Dan
18e414e2c1 Add TODO 2018-04-27 20:13:19 +02:00
Dan
e81ef5a757 Users are now able to view keyboards from bots 2018-04-27 20:11:36 +02:00
Dan
f6b0e0e0dc Initial support for Reply Markups 2018-04-27 19:04:16 +02:00
Dan
0ffad5d18e Cast file_total_parts to int
For some reason pycharm is thinking math.ceil() is returning a float
2018-04-27 15:24:27 +02:00
Dan
83dc5f7a03 Fix proxy failing when omitting optional arguments 2018-04-27 12:50:34 +02:00
Dan
2874be05ff Limit replies for pinned messages. Related to #61 2018-04-26 14:17:43 +02:00
Dan
dcbce9f9a1 Add client field in Message 2018-04-26 12:10:54 +02:00
Dan
bd0fc27a61 Add support for blocked channels/supergroups. Fixes #56 2018-04-26 11:09:19 +02:00
Dan
4cb7733821 Regression fix: limit replies to 1 (Closes #61) 2018-04-26 10:50:30 +02:00
Dan
0ed38518e1 Some stickers don't have DocumentAttributeImageSize 2018-04-25 18:30:33 +02:00
Dan
e22f7896f8 Add incoming and outgoing filters 2018-04-25 17:44:09 +02:00
Dan
3e4135c8e1 New "outgoing" field to easily tell in/out messages apart 2018-04-25 15:27:16 +02:00
Dan
fefcb81dde Move object ids ot the top 2018-04-25 10:30:33 +02:00
Dan
9173c49938 Allow Filters.command to pass command and arguments
This is done by using the new "command" field in the Message type
2018-04-25 10:27:55 +02:00
Dan
e5de670d40 Allow Filters.regex to pass all matches (as list)
This is done by using the new "matches" field in the Message type
2018-04-25 09:33:44 +02:00
Dan
7a20c8bca8 Clean all types and add docs 2018-04-24 16:41:52 +02:00
Dan
6e78935857 Accommodate the new types 2018-04-24 16:08:33 +02:00
Dan
59bca1c109 Clean ChatMember type 2018-04-24 15:10:15 +02:00
Dan
c457fc6ae3 Clean ChatPhoto type 2018-04-24 15:07:32 +02:00
Dan
d8f7f3bcc9 Clean UserProfilePhotos type 2018-04-24 15:06:54 +02:00
Dan
a52d4846e6 Clean Venue type 2018-04-24 15:05:51 +02:00