Commit Graph

651 Commits

Author SHA1 Message Date
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
Dan
ba254e6643 Clean Location type 2018-04-24 15:05:08 +02:00
Dan
d10326605f Clean Contact type 2018-04-24 15:04:25 +02:00
Dan
76980ffc96 Clean Sticker type 2018-04-24 15:02:58 +02:00
Dan
5f7dd681f4 Clean VideoNote type 2018-04-24 15:00:36 +02:00
Dan
48284e7629 Clean Voice type 2018-04-24 14:57:22 +02:00
Dan
be8f0ad765 Clean Video type 2018-04-24 14:55:29 +02:00
Dan
7765942fc9 Clean Document type 2018-04-24 14:52:43 +02:00
Dan
d5ebeef4be Clean Audio type 2018-04-24 14:50:23 +02:00
Dan
38621f8239 Clean PhotoSize type 2018-04-24 14:44:50 +02:00
Dan
fe0f30b2f9 Clean MessageEntity type 2018-04-24 14:40:49 +02:00
Dan
79c3c8c0dd Clean Message type 2018-04-24 14:38:46 +02:00
Dan
3609d37752 Clean Chat type 2018-04-23 19:25:38 +02:00
Dan
b8473c9f7f Clean User type 2018-04-23 19:00:20 +02:00
Dan
730d5e74f0 Clean Update type 2018-04-23 18:56:06 +02:00
Dan
50252caec3 Move pyrogram types outside and make them static 2018-04-23 18:50:58 +02:00
Dan
debc459686 Return the correct message type with forward_messages() 2018-04-23 18:33:20 +02:00
Dan
88f7b35120 Add support for empty messages 2018-04-23 18:16:32 +02:00
Dan
f6415cdc15 Allow passing msg ids as int in get_messages()
Also add support for empty messages
2018-04-23 18:15:51 +02:00
Dan
a2640775dc Allow passing msg ids as int in forward_messages() 2018-04-23 13:49:31 +02:00
Dan
3d9b1cd4b0 Enable logging using debug=True 2018-04-23 13:37:50 +02:00
Dan
7054310138 Add docstrings for workdir parameter 2018-04-22 12:41:50 +02:00
Eric Blundell
40b768e97c Make Client.signal_handler reentrant (#57) 2018-04-21 20:50:30 +02:00
Dan
ae98732b95 Add workdir parameter
This makes possible to define a custom working directory.
A working directory is used to store session files. Defaults to "."
2018-04-19 10:06:41 +02:00
Dan
d6448c2044 Handle STICKERSET_INVALID error 2018-04-18 16:39:42 +02:00
Dan
0bba5daea4 Update docstrings 2018-04-18 11:15:09 +02:00
Dan
9dff99cf36 Add set_name and emoji to Stickers 2018-04-17 15:17:40 +02:00
Dan
d78dfb4f9e Don't use raw functions when getting messages 2018-04-17 00:26:30 +02:00
Dan
ebe806e2b7 Add missing notice 2018-04-16 21:07:02 +02:00
Dan
f9b1d02af4 Set correct link for the Message type 2018-04-16 13:28:53 +02:00
Dan
a547eb6fa1 Update get_messages docstrings 2018-04-16 12:52:32 +02:00
Dan
e210b22aaa Fix wrong users when joining by link 2018-04-16 12:43:02 +02:00
Dan
f47f903f7f Make get_messages return the correct type 2018-04-16 12:42:31 +02:00
Dan
d0ddb63830 Use raw functions when getting messages 2018-04-16 12:19:04 +02:00
Dan
06685cfe15 Make edit_message_caption return the new type 2018-04-16 12:03:31 +02:00
Dan
fbc8cafe4d Make edit_message return the new type 2018-04-16 12:01:42 +02:00
Dan
20bd4fb605 Make send_contact return the new type 2018-04-16 11:56:52 +02:00
Dan
797e8ba4e9 Don't pass empty last_name or user_id, pass None instead 2018-04-16 11:56:43 +02:00
Dan
58c9f321b4 Make send_venue return the new type 2018-04-16 11:53:38 +02:00
Dan
4bbdadaa17 Don't pass an empty string, use None instead 2018-04-16 11:53:26 +02:00