Commit Graph

651 Commits

Author SHA1 Message Date
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
Dan
cd9f44183e Make send_location return the new type 2018-04-16 11:51:32 +02:00
Dan
b4b5373505 Deprecate download_photo 2018-04-16 11:49:00 +02:00
Dan
d9b3d67126 Update download_media docstrings 2018-04-16 11:44:05 +02:00
Dan
fdac67de69 Rework download_media to accept the new Message type 2018-04-16 01:07:02 +02:00
Dan
6275a4003f Add mime_type, file_name and date to Sticker objects 2018-04-16 00:59:41 +02:00
Dan
ddfce4b7ea Add file_name, mime_type and date to VideoNote objects 2018-04-16 00:30:49 +02:00
Dan
f35d922c97 Add thumb, file_name and date to Voice type 2018-04-16 00:24:43 +02:00
Dan
7184710948 Add file_name and date fields to Video objects 2018-04-16 00:01:27 +02:00
Dan
44dda8550f Add date field to Document type 2018-04-15 23:54:46 +02:00
Dan
e08e2850ee Add thumb, date and file_name to Audio type 2018-04-15 23:51:10 +02:00
Dan
d5f3684310 Add date field for PhotoSize 2018-04-15 23:30:40 +02:00
Dan
d9fdd89c49 Add ChatPhoto to User objects 2018-04-15 22:28:08 +02:00
Dan
ab1d780a61 Add ChatPhoto to Chat objects 2018-04-15 22:23:58 +02:00
Dan
94c9e7c52b Add some TODOs 2018-04-14 21:55:23 +02:00
Dan
b705391f79 Enhance send_media_group by accepting file_ids 2018-04-14 21:48:15 +02:00
Dan
5e26ae1894 Enhance send_video_note by accepting file_ids 2018-04-14 20:49:16 +02:00
Dan
c52ecadb76 Enhance send_voice by accepting file_ids and URLs 2018-04-14 20:42:32 +02:00
Dan
1fdb3386ff Enhance send_video by accepting file_ids and URLs 2018-04-14 20:41:23 +02:00
Dan
4f615bd6dc Enhance send_sticker by accepting file_ids and URLs 2018-04-14 19:56:11 +02:00
Dan
8446129003 Enhance send_document by accepting file_ids and URLs 2018-04-14 19:48:15 +02:00
Dan
0dd5ebef80 Fix raw update handler throwing errors 2018-04-14 16:59:34 +02:00
Dan
e8193435a9 Fix service filter and add media filter 2018-04-14 14:02:48 +02:00
Dan
17259d1b7b Join threads before closing the connection 2018-04-13 19:09:00 +02:00
Dan
e3c70c84ba Merge branch 'master' into new-api 2018-04-13 18:55:20 +02:00
Dan
83c4ba8a78 Handle flood wait when getting dialogs chunks 2018-04-13 18:53:55 +02:00
Dan
70173adca9 Iterate over copies 2018-04-13 18:35:36 +02:00
Dan
2f52b0e144 Merge branch 'master' into new-api 2018-04-13 16:42:26 +02:00
Dan
75cbd18ede Add ability to re-fetch usernames and contacts 2018-04-13 16:41:20 +02:00
Dan
ebc34e71d3 Optimize imports 2018-04-13 16:30:19 +02:00
Dan
e05c6a76d5 Merge branch 'master' into new-api
# Conflicts:
#	pyrogram/client/client.py
#	pyrogram/client/utils.py
2018-04-13 16:29:39 +02:00
Dan
846b7ec710 Increase sync interval 2018-04-13 16:21:18 +02:00
Dan
077930f85e Lower offline sleep 2018-04-13 16:20:51 +02:00
Dan
973cb4b2b6 Make dialogs and contacts fetching smarter 2018-04-13 16:20:21 +02:00
Dan
d9aa2a3ab0 Fix channels ids 2018-04-13 15:40:35 +02:00
Dan
9631dc7780 Accommodate Syncer 2018-04-13 15:21:34 +02:00
Dan
b84628e01d Add syncer module 2018-04-13 15:20:47 +02:00
Dan
e38da08e25 Load peers from session file 2018-04-13 15:20:37 +02:00
Dan
2ad3e113a0 Add utils module 2018-04-13 15:17:21 +02:00
Dan
a4b6674d4d Add date field 2018-04-13 15:05:46 +02:00
Dan
01775d0bd7 Don't pass session_name 2018-04-13 15:03:46 +02:00
Dan
6dcdeda244 Make proxy loading simpler 2018-04-13 12:30:13 +02:00
Dan
346d3da175 Add more info in case of an error 2018-04-12 14:11:01 +02:00
Dan
98937dbc3b Update Docs 2018-04-11 23:18:17 +02:00
Dan
3f16390193 Update docstrings 2018-04-11 15:16:29 +02:00
Dan
b5f1d3a2a5 Update docstrings 2018-04-11 03:53:10 +02:00
Dan
472ed8e355 Document the new features 2018-04-11 03:16:48 +02:00
Dan
84b1e697bb Add phone_number field in users 2018-04-10 19:48:44 +02:00
Dan
c4f2906009 Add via_bot field in messages 2018-04-10 19:37:52 +02:00
Dan
847b8dd5d4 Add views field in messages 2018-04-10 19:30:55 +02:00
Dan
059c1d7a27 Add service message filters 2018-04-10 19:23:40 +02:00
Dan
cbf9104aa3 Add chat filter 2018-04-10 18:33:19 +02:00
Dan
dfa1e51281 Fix type hinting 2018-04-10 16:27:04 +02:00
Dan
f553e521ce Use sets instead of lists or tuples
For faster checks
2018-04-10 16:26:04 +02:00
Dan
793ecc2ab5 Add user filter 2018-04-10 16:24:39 +02:00
Dan
a6b6b0dfd6 Add edited filter 2018-04-10 16:04:22 +02:00
Dan
3b028698f7 Make command parameter non-optional 2018-04-10 15:04:31 +02:00
Dan
9165c7f591 Rework decorators impl 2018-04-10 14:54:39 +02:00
Dan
7537a27620 Accept command strings as parameter 2018-04-10 14:54:06 +02:00
Dan
c33c7c76fd Rework dispatcher 2018-04-10 14:52:31 +02:00
Dan
f2424d3b1e Add some more filters 2018-04-10 13:14:10 +02:00
Dan
9ce13518ec Add missing notice 2018-04-10 00:25:51 +02:00
Dan
b3506a7afa Add a text filter (more to come) 2018-04-10 00:25:04 +02:00
Dan
142ce07576 Make handlers accept filters 2018-04-10 00:24:03 +02:00
Dan
fb4e98b0b5 Evaluate filters before dispatching messages 2018-04-09 23:35:51 +02:00
Dan
b6f28b2ec6 Add base Filter class 2018-04-09 23:33:20 +02:00
Dan
e7fdf5a2a4 Enhance send_audio by accepting file_ids and URLs 2018-04-09 22:02:44 +02:00
Dan
245720278e Enhance send_photo by accepting file_ids and URLs
This is the first step of a total revamp of the current Pyrogram API
2018-04-08 16:50:18 +02:00
Dan
578047dbec Move message_parser outside 2018-04-08 15:36:22 +02:00
Dan
28ffff57e1 Move file_id codec outside 2018-04-08 13:23:26 +02:00
Dan
13d25f4e4a Merge branch 'master' into dispatcher 2018-04-08 13:21:30 +02:00
Dan
0bd22e9266 Fix casting in case api_id is None 2018-04-08 13:21:16 +02:00
Dan
1a7ab62ed9 Add handler for raw mtproto updates 2018-04-08 13:20:31 +02:00
Dan
66d03848de Merge branch 'master' into dispatcher 2018-04-08 12:46:15 +02:00
Dan
26a41ec00e Allow returning sms codes as int from the callback function 2018-04-08 12:46:02 +02:00
Dan
dfc8d00adb Allow passing api_id as string 2018-04-08 12:44:27 +02:00
Dan
8e8613bc0f Refactor Dispatcher 2018-04-08 12:43:47 +02:00
Dan
1f05c4223a Fix copypasta 2018-04-08 11:58:17 +02:00
Dan
ee2d66b416 Only keep MessageHandler 2018-04-07 23:34:28 +02:00
Dan
90a4e4c411 Allow registering handlers using decorators 2018-04-06 20:38:34 +02:00
Dan
ede627de52 Directly pass the message instead of the update 2018-04-06 20:35:38 +02:00
Dan
e98b209526 Accommodate the new Dispatcher 2018-04-06 18:48:41 +02:00
Dan
331eb62455 Clean up __init__ file 2018-04-06 18:37:11 +02:00
Dan
2dc57002d6 Add Dispatcher 2018-04-06 18:36:29 +02:00
Dan
9df7fc774f Add handlers to init file 2018-04-06 17:46:34 +02:00
Dan
e638cc68c6 Add ChannelPostHandler and EditedChannelPostHandler 2018-04-06 17:45:37 +02:00
Dan
f5a906452c Add EditedMessageHandler 2018-04-06 17:45:03 +02:00
Dan
1e8cb843cb Add MessageHandler 2018-04-06 17:44:50 +02:00
Dan
6bc52fd03b Add base Handler class 2018-04-06 17:44:12 +02:00
Dan
6fd4c5c016 Add TODO 2018-04-06 14:47:47 +02:00
Dan
73246c26f9 Rename utils to message_parser 2018-04-06 14:47:00 +02:00
Dan
055d1c80ea Handle text_mentions 2018-04-05 20:59:41 +02:00
Dan
f3fcfb17df Add fallback for any unsupported media 2018-04-05 20:44:11 +02:00
Dan
23c0d2b9ce Handle Venue type 2018-04-05 20:35:25 +02:00
Dan
3593886917 Keep InputMediaVideo separated as well 2018-04-05 20:19:37 +02:00
Dan
7079815970 Keep InputMediaPhoto separated 2018-04-05 20:18:04 +02:00
Dan
38e895ed82 Merge branch 'master' into new-api
# Conflicts:
#	pyrogram/crypto/aes.py
2018-04-05 20:13:18 +02:00
Dan
73fbe60057 Remove APIKey class 2018-04-05 13:05:27 +02:00
Dan
942c20d08b Use separate api_id and api_hash parameters
Instead of a tuple (api_id, api_hash)
2018-04-05 12:55:34 +02:00
Dan
f8b272a925 Allow passing phone numbers with white spaces
E.g.: "+39 123 456 7890"
2018-04-05 11:31:01 +02:00
Dan
fad0e7a26d Add new_chat_photo field 2018-04-05 11:17:40 +02:00