Commit Graph

2500 Commits

Author SHA1 Message Date
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
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
de332471df Join net worker threads before stopping. Fixes #62 2018-04-29 20:30:32 +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
739779c29d Remove Client objects representation 2018-04-26 12:12:38 +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
7c2c878333 Add core type hints for generated classes 2018-04-25 12:55:38 +02:00
Dan
3a4e24ecbf Fix prints of pyrogram types 2018-04-25 12:50:09 +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
797e102c3f Update to v0.7.1 2018-04-18 17:20:17 +02:00
Dan
b59212dbf2 Fix send() not returning the value in case of a retry 2018-04-18 17:19:42 +02:00
Dan
d6448c2044 Handle STICKERSET_INVALID error 2018-04-18 16:39:42 +02:00
Dan
069dbb3e7a Update to v0.7.0 2018-04-18 15:38:01 +02:00
Dan
639828f550 Retry on internal server errors, up to MAX_RETRIES times
Also add support for custom retry count
2018-04-18 15:17:46 +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
fcc595c586 Update version 2018-04-16 13:28:19 +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
4965e0b4f8 Remove warning 2018-04-14 17:37:37 +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
87efe4bb99 Merge branch 'master' into new-api 2018-04-14 13:28:55 +02:00
Dan
41ff375f08 Allow accessing Object fields using square brackets 2018-04-13 20:56:12 +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
70cd0500de Merge branch 'master' into new-api 2018-04-12 11:31:53 +02:00
Dan
9dc767b88e Wait a little bit before retrying 2018-04-12 10:41:52 +02:00
Dan
552474a0e2 Raise any other unknown exception 2018-04-12 08:30:52 +02:00
Dan
862567a1ed Tune session settings 2018-04-12 08:29:39 +02:00
Dan
1736a8ea9b Use port 443 for production servers 2018-04-11 23:37:59 +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
398858acc1 Merge branch 'master' into new-api 2018-04-11 03:20:19 +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
b0a528cadf Make Filters importable via the main package 2018-04-10 00:25:41 +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
eeb89e4161 Fix some weird behaviours when printing exceptions 2018-04-09 22:04:16 +02:00
Dan
e7fdf5a2a4 Enhance send_audio by accepting file_ids and URLs 2018-04-09 22:02:44 +02:00
Dan
f57ff96ab3 Merge branch 'master' into dispatcher 2018-04-08 16:54:38 +02:00
Dan
ec72330de9 Allow passing a custom error message 2018-04-08 16:51:20 +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
7bd52c3718 Add handlers to __init__ file 2018-04-06 18:37:54 +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
1fe2b11a0a Update imports 2018-04-05 20:21:02 +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
cce937e54b Set correct type hint 2018-04-05 11:43:56 +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
Dan
65e3852706 Add channel_chat_created field 2018-04-05 10:59:44 +02:00
Dan
7483d3df37 Use correct chat ids 2018-04-05 10:59:12 +02:00
Dan
195cd22ebb Better handling of reply and pin messages 2018-04-05 10:49:20 +02:00
Dan
a2590f3bc8 Don't return None
This will break Message Pin handling
2018-04-05 08:26:50 +02:00
Dan
4adc55a070 Move GIF handling before Video to avoid an extra check 2018-04-05 08:22:27 +02:00
Dan
feece7e633 Add return types (function annotations) 2018-04-05 00:23:38 +02:00
Dan
66347a7140 Move pyrogram types import on the top 2018-04-05 00:19:13 +02:00
Dan
2fcd8ea54e Handle GIF and Document type 2018-04-04 23:59:30 +02:00
Dan
f1a8cd1038 Rename to image_size_attributes 2018-04-04 22:48:14 +02:00
Dan
2acb38649d Add some TODOs 2018-04-04 22:47:52 +02:00
Dan
447cd92b02 Handle media_group_id 2018-04-04 22:42:30 +02:00
Dan
d5fe82687c Handle Sticker type 2018-04-04 22:37:40 +02:00
Dan
c1e6f9c2ca Handle Voice type 2018-04-04 22:27:05 +02:00
Dan
70fa667ef9 Handle Video and VideoNote type 2018-04-04 22:24:09 +02:00
Dan
c49c8c0ce6 Handle Audio type 2018-04-04 22:23:20 +02:00
Dan
156afd9805 Handle Contact type 2018-04-04 20:28:05 +02:00
Dan
7ba523600e Handle Location type 2018-04-04 20:21:07 +02:00
Dan
6201f6b1f7 Add a bunch of TODOs 2018-04-04 20:15:59 +02:00
Dan
fcf0e4515f Don't try to stop a non-started Client 2018-04-03 14:54:34 +02:00
Dan
88292cf7d6 Implement __bool__ 2018-04-03 14:44:24 +02:00
Dan
10452dc545 Don't allow start() to be called more than once 2018-04-03 11:45:19 +02:00
Dan
e69fea4bb5 More readable exception handling 2018-04-03 11:40:08 +02:00
Dan
2f2a381686 Add extra GetDialogs step 2018-04-02 12:14:22 +02:00
Dan
b5304ca23a Use fully qualified channel id 2018-04-02 11:11:38 +02:00
Dan
1849c26b5e Revert "Remove old code and use a better error message"
This reverts commit 7f13eef
2018-04-02 10:02:30 +02:00
Dan
21ab5295c4 Update first_name and last_name parameters' docs 2018-04-01 18:18:06 +02:00
Dan
fecea07db6 Document force_sms parameter 2018-04-01 18:17:20 +02:00
Dan
387bbbf090 Add new force_sms parameter to force Telegram sending the code via SMS 2018-04-01 17:38:22 +02:00
Dan
48400830e3 Fix chat parsing 2018-04-01 12:17:38 +02:00
Dan
846fb0b637 Add photo field 2018-03-31 12:20:22 +02:00
Dan
880eb28e9f Use double quotes 2018-03-30 22:41:34 +02:00
Dan
692539f6a2 Add file_id codec 2018-03-28 18:23:44 +02:00
Dan
1d9bb22789 Merge branch 'master' into new-api 2018-03-28 12:58:48 +02:00
Dan
f1e1480c5a Only parse selected messages 2018-03-27 15:58:04 +02:00
Dan
6f9c12bfe9 Update to v0.6.5 2018-03-27 12:56:28 +02:00
Dan
f28992ce90 Yet another fix for the encoding problems 2018-03-27 12:33:56 +02:00
Dan
91133812a7 Add support for service messages 2018-03-27 12:22:57 +02:00
Dan
527c5450d2 Extend support for pyrogram types 2018-03-26 20:00:25 +02:00
Dan
7447b77b25 Add initial support for pyrogram types 2018-03-26 15:17:00 +02:00
Dan
26e102047e Import pyrogram types 2018-03-26 15:16:27 +02:00
Dan
676f9feba8 Strip None fields away 2018-03-26 15:16:09 +02:00
Dan
8d4242f08e Remove types 2018-03-26 13:47:41 +02:00
Dan
f3cf08d351 Merge branch 'master' into new-api
# Conflicts:
#	pyrogram/client/client.py
2018-03-26 13:46:48 +02:00
Dan
beaf88adee Remove imports, use namespaces 2018-03-26 13:41:00 +02:00
Dan
e397c4d181 Don't process empty differences 2018-03-26 13:34:54 +02:00
Dan
42a2878842 Don't use sys.exit(), re-raise ImportError instead 2018-03-26 03:39:30 +02:00
Dan
52c482f1e4 Use a better error message 2018-03-26 02:03:36 +02:00
Dan
7f13eef44b Remove old code and use a better error message 2018-03-26 02:02:57 +02:00
Dan
e680cce5fa Update docstrings 2018-03-25 22:12:52 +02:00
Dan
16eee1dabb Update docstrings 2018-03-25 21:59:04 +02:00
Dan
faa363fee8 Update docstrings 2018-03-25 21:41:19 +02:00
Dan
5bf64ac444 Don't process empty messages 2018-03-25 17:49:43 +02:00
Dan
a956463a57 Update to v0.6.4 2018-03-24 17:15:24 +01:00
Dan
bbe3a8a487 Set supports_streaming to True by default 2018-03-24 15:10:27 +01:00
Dan
813b7958e3 Remove token parameter 2018-03-24 15:02:03 +01:00
Dan
ef71dcf56a Remove **kwargs for generated classes (function/types) 2018-03-23 13:46:43 +01:00
Dan
1d9bb18a38 Only match full t.me/joinchat links 2018-03-23 12:59:03 +01:00
Dan
a0e3ab4199 Yet another markdown pattern fix 2018-03-23 08:27:23 +01:00
Dan
a9b1783910 Let api_key and proxy parameters override the config.ini file 2018-03-22 14:36:46 +01:00
Dan
f7ce3abc8d Merge branch 'min' 2018-03-21 17:47:02 +01:00
Dan
e464226608
Update docs 2018-03-21 17:39:53 +01:00
Dan
569ab1696a
Return the good looking absolute path instead of an ugly relative one #37 2018-03-21 16:17:13 +01:00
Eric Blundell
fa6af8695e Fix missing shutil import 2018-03-21 10:13:45 -05:00
Dan
40e7d72e87
Make paths good looking 2018-03-21 15:43:58 +01:00
Dan
76ad29ae11
Fix saving files on another drive (windows) @EriHoss 2018-03-21 15:42:32 +01:00
Dan
f6ea3e9b42
Cleaner code and some little changes
TODO: "" or None for faulty download, which is better?
2018-03-21 13:39:23 +01:00
Eric Blundell
0f4e29584a Make use of tempfile.NamedTemporaryFile in getfile, use context managers 2018-03-21 04:07:55 -05:00
Eric Blundell
b45960212b Simplify branch in download_worker exception handler 2018-03-21 03:19:09 -05:00
Dan
b6a42aa8cd
Do not mkstemp twice
Also use elif to make it less confusing
2018-03-21 09:01:18 +01:00
Eric Blundell
8796e857af Amend comment on shutil.move in download_worker
os.renames cannot move across drives/partitions on any platform.

that is why shutil.move is used, because the OS allotted temp file could
possibly be on another drive or partition.

Also fix code formatting on new import statements.
2018-03-20 23:20:08 -05:00
Eric Blundell
2cf2dd26f0
Merge branch 'master' into flexible_media_downloads 2018-03-20 22:28:42 -05:00
Eric Blundell
f0c00c8801 move first mkstemp to exception safe location in get_file 2018-03-20 16:30:48 -05:00
Eric Blundell
4c9e4df532 Amendment to comment on fdopen usage in get_file 2018-03-20 16:18:32 -05:00
Eric Blundell
cd0e585d0d Avoid calling fdopen on closed descriptor 2018-03-20 15:42:31 -05:00
Eric Blundell
5bc10b45a3 Use OS temp file, specific path download via path seperator inspection 2018-03-20 15:20:04 -05:00
Dan
aa8125d7a2 Log more info in case there is an exception in get_file #37 2018-03-20 19:27:25 +01:00
Dan
2b33f23990 Check whether get_file failed or not #37
If it failed, also delete any eventual temporary file
2018-03-20 19:25:23 +01:00
Dan
440654a63f Log info when disconnecting 2018-03-20 18:54:05 +01:00
Eric Blundell
62831001b7 Slight amendment to client.download_(media/photo) doc 2018-03-20 09:39:58 -05:00
Eric Blundell
bd1234f227 fix open file leak in client.download_media 2018-03-20 09:02:17 -05:00
Eric Blundell
0694480a46 allow file objects be passed to file_name arg of client.download_media 2018-03-20 08:33:14 -05:00
Eric Blundell
db80c72b08 Create file_name directory trees in download_worker 2018-03-20 08:27:44 -05:00
Eric Blundell
c0212a7b10 Correct default file_dir value behaviour 2018-03-20 08:20:03 -05:00
Eric Blundell
19854a5d4f Actually raise mutually exclusive arg error 2018-03-20 08:10:24 -05:00
Eric Blundell
4ae9a5ad38 Make sure file_dir is created 2018-03-20 08:05:41 -05:00
Eric Blundell
b9f623921d Make file_name and file_dir mutually exclusive 2018-03-20 07:47:38 -05:00
Eric Blundell
6bb004fc83 Add file_dir parameter to client.download_media 2018-03-20 07:34:38 -05:00
Eric Blundell
19b1bbb942 Allow download_media to download media to anywhere
Remove the use of a temporary file in the programs
working directory.
2018-03-20 07:04:35 -05:00
Dan
14a6817d12 Merge branch 'master' into min 2018-03-19 21:03:13 +01:00
Dan
2fd7cd0054 Small fix in the markdown regex 2018-03-19 21:02:54 +01:00
Dan
17f7141278 Merge branch 'master' into min 2018-03-19 19:58:32 +01:00
Dan
2deea2e4a6 Remove unused imports 2018-03-19 03:38:09 +01:00
Dan
299d6aca5c Raise ConnectionError if client is not started 2018-03-19 03:37:43 +01:00
Dan
310f9080c4 Remove unnecessary method calls 2018-03-19 01:54:45 +01:00
Dan
eecc9412b5 Merge branch 'master' into min 2018-03-19 01:53:59 +01:00
Dan
0f2dc6c624 Remove unnecessary method calls 2018-03-19 01:53:07 +01:00
Dan
9e386ed24c Remove resolve_username method 2018-03-19 01:51:47 +01:00
Dan
70ae7f0808 Fix usernames not stored in lowercase 2018-03-19 01:40:36 +01:00
Dan
390b0c12e2 Set updates_workers to 1 2018-03-19 01:08:59 +01:00
Dan
c4142753d0 Handle minified channel updates 2018-03-19 01:08:34 +01:00
Dan
5b5fb6cbec Update docstrings to accommodate joinchat links 2018-03-18 13:00:28 +01:00
Dan
cbd3b71b79 Handle mismatches in a more pythonic way 2018-03-18 12:12:27 +01:00
Dan
1d25b84cde Update invite link regex pattern 2018-03-18 11:43:51 +01:00
Dan
b45f2f4595 Add support for sending messages using joinchat links and hashes 2018-03-17 19:24:27 +01:00
Dan
1da39efa2e Update invite link regex 2018-03-17 19:13:15 +01:00
Dan
600e705d51 Add docstrings for "token" parameter 2018-03-17 19:05:18 +01:00
Dan
6c20661686 Don't use kwargs 2018-03-17 14:29:23 +01:00
Dan
6fd8b582b2 More useful logging 2018-03-16 11:30:05 +01:00
Dan
4dbf1ef5ac Improve re-connection speed 2018-03-16 11:18:16 +01:00
Dan
839f7b99f4 Call GetState for bots 2018-03-15 20:41:13 +01:00
Dan
6d536107ae Add support for bots login via token 2018-03-15 12:25:29 +01:00
Dan
756311710c Don't GetTermsOfService() anymore 2018-03-15 12:03:02 +01:00
Dan
5fc61e2fc9 Update to v0.6.3 2018-03-14 12:03:10 +01:00
Dan
3b2d264f5e Fix reference link 2018-03-14 11:01:33 +01:00
Dan
7beb611cea Update docstrings 2018-03-14 10:59:35 +01:00
Dan
f997e97494 Add support for downloading photos not contained inside a Message 2018-03-13 16:26:53 +01:00
Dan
475012144d
Increase WAIT_TIMEOUT to 30s 2018-03-13 00:21:48 +01:00
Dan
62e67f5257 Add get_messages method 2018-03-11 17:16:38 +01:00
Dan
ca54b62f63 Strip "+" away from phone numbers when logging in 2018-03-10 15:21:31 +01:00
Dan
e12a81ebb6 Attempt to fix cyclic imports 2018-03-10 10:50:51 +01:00
Dan
f26dc10ee2 Use namespace instead of importing types 2018-03-09 15:43:54 +01:00
Dan
85f92120d1 Add types to __init__.py 2018-03-09 14:59:30 +01:00
Dan
d8c634152a Update Message type 2018-03-09 14:59:08 +01:00
Dan
caf1dea227 Update Chat type 2018-03-09 14:48:13 +01:00
Dan
3d2029e9ea Update Audio type 2018-03-09 14:48:01 +01:00
Dan
7ff9f28e15 Add Video type 2018-03-09 14:47:45 +01:00
Dan
140f324cd0 Add StickerSet type 2018-03-09 14:47:36 +01:00
Dan
76b78f6a9e Add ChatPhoto type 2018-03-09 14:47:22 +01:00
Dan
345da2fccd Add UserProfilePhotos type 2018-03-09 14:47:12 +01:00
Dan
59f1fd9ee6 Add Location type 2018-03-09 14:46:58 +01:00
Dan
4d367ce04e Add ChatMember type 2018-03-09 14:46:49 +01:00
Dan
f3f462c009 Add MaskPosition type 2018-03-09 14:46:38 +01:00
Dan
4724953971 Add VideoNote type 2018-03-09 14:46:25 +01:00
Dan
24c2d20137 Add Venue type 2018-03-09 14:46:16 +01:00
Dan
281323288e Add Document type 2018-03-09 14:46:08 +01:00
Dan
35fcfe8266 Add Sticker type 2018-03-09 14:45:58 +01:00
Dan
3fa30b3a50 Add Contact type 2018-03-09 14:45:40 +01:00
Dan
33baf91a26 Add Update type 2018-03-09 14:45:27 +01:00
Dan
4e4d9e6e44 Add MessageEntity type 2018-03-09 14:45:18 +01:00
Dan
48bf7438b7 Add PhotoSize type 2018-03-09 14:45:06 +01:00
Dan
18c20f0ca5 Add Game type 2018-03-09 14:44:53 +01:00
Dan
8bd5a79643 Add Animation type 2018-03-09 14:44:43 +01:00
Dan
8216201f19 Add Voice type 2018-03-09 14:44:31 +01:00
Dan
4132a1d266 Merge branch 'master' into new-api 2018-03-09 13:28:16 +01:00
Dan
f55062bc6d Add support for Bot API style basic group IDs (with minus sign)
Closes #32
2018-03-08 12:28:38 +01:00
Dan
859305b744 Update docstrings 2018-03-08 10:34:04 +01:00
Dan
27a96a0df4 Fix progress going over 100% 2018-03-08 10:31:34 +01:00
Dan
b5c7cf781a Document the progress parameter 2018-03-08 10:25:10 +01:00
Dan
6b6122be92 Add progress parameter 2018-03-08 10:23:48 +01:00
Dan
cc49815cc5 req_pq is deprecated, use req_pq_multi instead 2018-03-08 10:14:26 +01:00
Dan
71f3e07dc1 Add more public keys 2018-03-08 10:13:04 +01:00
Dan
20ec656d91 Fix little typos 2018-03-08 10:11:47 +01:00
Dan
efd435befd
Use snake_case style 2018-03-08 10:09:03 +01:00
23rd
58eb19285e Added sending thumb with video. 2018-03-01 02:36:56 +03:00
Dan
608feac985 Update to v0.6.2 2018-02-27 20:05:11 +01:00
Dan
2e9ee6b073 Use proper client_id values 2018-02-27 18:48:30 +01:00
Dan
536efa5f4a Add get_inline_bot_results and send_inline_bot_result methods 2018-02-27 14:50:43 +01:00
Dan
333c906ac3 Always fetch peers (when applicable) 2018-02-26 15:44:08 +01:00
Dan
bce7d5b6e8 Fix signal handler not working on Windows 2018-02-25 18:43:30 +01:00
Dan
64ebf979e5 Fix file extension 2018-02-25 14:30:17 +01:00
Dan
834fff88da Remove print 2018-02-25 14:22:18 +01:00
Dan
c088018afa Move send_media_group method 2018-02-24 17:46:40 +01:00
Dan
f7a3dc2c22 Add support for phone numbers in docstrings 2018-02-24 17:45:51 +01:00
Dan
09cba224cf Document download_media 2018-02-24 17:41:11 +01:00
Dan
0353cf9588 Add send_sticker method 2018-02-24 17:24:35 +01:00
Dan
ed4ff07742 Add support for progress callback when downloading media 2018-02-24 17:16:25 +01:00
Dan
2e4802fbda Add support for downloading photos 2018-02-23 14:42:50 +01:00
Dan
87bd61ecc2 Set log level to WARNING 2018-02-23 13:59:26 +01:00
Dan
9c9a034f66 Make sure to clean temp files 2018-02-22 14:13:59 +01:00
Dan
26adfc2ef4 Add BadMsgNotification error descriptions. Fixes #26 2018-02-22 01:31:39 +01:00
Dan
28f10bd042 Make sure it's a Contacts before accessing fields 2018-02-22 11:03:48 +01:00
Dan
cfa19bc1c8 Document add_contacts and delete_contacts 2018-02-21 13:44:47 +01:00
Dan
7ee8cb7059 Document InputPhoneNumber 2018-02-21 13:44:12 +01:00
Dan
140a8b4e12 Catch RPCError in InitConnection 2018-02-21 13:35:17 +01:00
Dan
8e538199ea Log info when using a proxy 2018-02-21 13:34:27 +01:00
Dan
efbd052ec3 Add api_key and proxy parameter to the Client class
This gives users full control on how to store and load credentials.
2018-02-21 13:31:27 +01:00
Dan
a5849e9f6d Add missing notice 2018-02-21 11:51:11 +01:00
Dan
2a9da07548 Catch FloodWaits when calling GetContacts 2018-02-20 17:00:25 +01:00
Dan
5a44b93574 Accept phone numbers with and without a leading "+" 2018-02-20 15:48:10 +01:00
Dan
c5281eb963 Add ability to send messages to contacts by using their phone numbers 2018-02-20 15:28:01 +01:00
Dan
c33719be9e Call get_contacts when starting the client 2018-02-20 15:06:12 +01:00
Dan
c99bc9118b Fetch users when getting contacts 2018-02-20 15:05:17 +01:00
Dan
3ff3f5d9f4 Rewrite add_contacts and delete_contacts 2018-02-20 15:03:35 +01:00
Dan
2ab8fbe047 Add InputPhoneContact type 2018-02-20 15:01:28 +01:00
RussFP
7d72738153 add add_contacts, delete_contacts, get_contacts 2018-02-20 14:20:34 +03:00
Dan
027f843047 Fix deadlock in case the message doesn't contain any media 2018-02-19 13:43:16 +01:00
Dan
282e2bb79b Add missing notice 2018-02-19 13:25:44 +01:00
Dan
46e310722a Improve download_media 2018-02-19 13:11:35 +01:00
Dan
02da3fe947 Handle TCP server errors 2018-02-18 20:33:33 +01:00
Dan
15561d19d5 Add initial support for downloading media 2018-02-18 18:11:33 +01:00
Dan
d89d238d30 Fix BadMsgNotification error_code 32 2018-02-18 17:31:00 +01:00
Dan
3bd3d99e6a Rewrite get_file 2018-02-18 15:03:33 +01:00
Dan
aaf1b5c862 Update to v0.6.1 2018-02-17 16:29:03 +01:00
Dan
74a7adcbdd Don't use logging directly 2018-02-17 16:06:36 +01:00
Dan
87dcd4d313 Update warning 2018-02-17 15:01:09 +01:00
Dan
1bf74a9c25 Merge branch 'master' into tgcrypto 2018-02-16 18:42:43 +01:00
Dan
1db1339de8 Update to v0.6.0 2018-02-15 22:22:00 +01:00
Dan
c7b800b478 Add supports_streaming field o the InputMedia.Video object 2018-02-15 21:55:57 +01:00
Dan
a961eb88db Update docstrings 2018-02-15 21:12:42 +01:00
Dan
ad6cfcd165 Use PingDelayDisconnect instead 2018-02-15 21:06:25 +01:00
Dan
5e6361defc Set socket timeout to 10s 2018-02-15 21:06:04 +01:00
Dan
66156431ef Add Emoji module 2018-02-15 18:24:37 +01:00
Dan
e1b2fc7043 Revamp markdown parser 2018-02-15 12:05:35 +01:00
Dan
e14a3644ba Merge branch 'master' into tgcrypto 2018-02-14 17:34:21 +01:00
Dan
11bf40f50b Add new parameter supports_streaming to send_video method 2018-02-14 15:50:24 +01:00
Dan
f35babc26a Fix HTML style parser not working properly. Fixes #21 2018-02-14 08:33:14 +01:00
Dan
89200f4697 Add resolve_peer docstrings 2018-02-13 16:24:04 +01:00
Dan
78f2c9549c Modify resolve_peer to accommodate Peer* types 2018-02-13 14:28:45 +01:00
Dan
aca6fa390e Add SeqNo lock 2018-02-13 14:00:03 +01:00
Dan
560991498d Add MsgId lock 2018-02-13 13:59:29 +01:00
Dan
c6d5fb4178 Add much more detailed set_update_handler docstring 2018-02-13 13:56:09 +01:00
Dan
df89669e04 Revert back to "set_update_handler" name 2018-02-13 12:08:10 +01:00
Dan
8b7f7440b2 Remove reference 2018-02-12 16:39:57 +01:00
Dan
dc94386507 Handle pts 2018-02-11 13:19:52 +01:00
Dan
85b573d1e5 Set NET_WORKERS to 1 2018-02-10 18:28:11 +01:00
Dan
a6fce057c7 Pass update mentions to the event handler 2018-02-10 16:30:13 +01:00
Dan
96f895425f Add some types 2018-02-09 16:12:04 +01:00
Dan
f158b780aa Merge branch 'master' into tgcrypto 2018-02-09 03:27:13 +01:00
Dan
a0bd47fee4 Revamp get_dialogs. Fixes #13 2018-02-09 02:57:08 +01:00
Dan
b1064015f6 Update set_event_handler docstring 2018-02-09 01:54:47 +01:00
Dan
9a912192f0 Add fetch_peers method 2018-02-09 01:52:40 +01:00
Dan
0f45cacefa Update doctrings 2018-02-08 22:01:14 +01:00
Dan
646c821706 Rename update to event 2018-02-08 22:00:13 +01:00
Dan
07c3d96d82 Add Event Handler (for single updates) 2018-02-08 21:59:08 +01:00
Dan
bd75dc8082 Set NET_WORKERS to 2 2018-02-08 20:47:56 +01:00
Dan
d8edfb38bf Move update handler into Client 2018-02-08 20:46:47 +01:00
Dan
7cee6b079f Revert to fixed NET_WORKERS count 2018-02-08 19:48:01 +01:00
Dan
5885f38245 Remove TODO 2018-02-08 19:03:44 +01:00
Dan
f36bb2678c Remove unused 2018-02-08 19:03:04 +01:00
Dan
f8688cd260 Rename worker to net_worker 2018-02-08 18:56:40 +01:00
Dan
00631fcc33 Use a better variable name 2018-02-08 17:34:00 +01:00
Dan
3097cadd8a Clean 2018-02-08 17:23:37 +01:00
Dan
a2d435b25f Add filename attribute for single videos 2018-02-08 16:20:19 +01:00
23rd
ed449ece9b Add filename attribute to video files in albums (#19) 2018-02-08 16:17:23 +01:00
Dan
444b695284 Merge branch 'test' 2018-02-07 20:09:20 +01:00
Dan
49ad245edc Add missing notice 2018-02-07 14:46:53 +01:00
Dan
403a37692c Handle GetDialogs FloodWait errors 2018-02-07 03:35:34 +01:00
Dan
6783d7b16f Fix reply_to_message_id parameter for send_message 2018-02-07 03:24:50 +01:00
Dan
0d359a4b1a Add docstrings 2018-02-07 03:21:36 +01:00
Dan
e2520a05e0 Merge branch 'dev' 2018-02-07 03:06:16 +01:00
Dan
a358b1f26b Add send_media_group method 2018-02-07 03:05:02 +01:00
Dan
5d5c2fe928 Merge branch 'master' into tgcrypto 2018-02-07 00:31:18 +01:00
Dan
63531dd1dd Fix regex pattern not matching single quotes 2018-02-05 01:50:32 +01:00
Dan
995167c534 Add docstrings 2018-02-04 12:25:49 +01:00
Dan
f31cfba94b Merge branch 'master' into tgcrypto 2018-02-03 13:26:53 +01:00
Dan
eb36a8f261 Add InputMedia class 2018-02-02 19:00:43 +01:00
Dan
00a02472f5
Make PhoneNumberBanned error looking more gentle 2018-02-01 13:41:23 +01:00
RussFP
df5666e2a0 add PhoneNumberBanned exception to 'def authorize' 2018-02-01 12:49:43 +03:00
Dan
807a50b82c Pass the client to the update handler as parameter 2018-02-01 02:41:19 +01:00
Dan
19afe67413 Merge branch 'master' into tgcrypto 2018-02-01 00:18:46 +01:00
Dan
19f861964e Update to v0.5.0 2018-01-30 13:45:47 +01:00
Dan
bdfba51410 Revert "Switch back to port 443"
This reverts commit 89daf09
2018-01-30 13:35:23 +01:00
Dan
89daf09500 Switch back to port 443 2018-01-29 14:20:16 +01:00
Dan
2b7425019b Merge IGE and CTR into a single class (AES) 2018-01-28 01:44:38 +01:00
Dan
0f35f0b8a6 Accommodate TgCrypto 2018-01-27 17:19:37 +01:00
Dan
df5379b479 Rename chat_id to peer_id for internal usage 2018-01-26 15:22:07 +01:00
Dan
38fb4b8d2a Add support for Bot API channel/supergroup IDs starting with -100 2018-01-26 14:44:53 +01:00
Dan
b1f11b7a97 Update docstrings 2018-01-26 11:49:07 +01:00
Dan
7234edad5d Add ability to choose the amount of worker threads for the main session 2018-01-26 11:41:09 +01:00
Dan
e542c73966 Fix UnicodeDecodeError 2018-01-26 01:05:38 +01:00
Dan
16c5e63c8b Add resolve_username method 2018-01-25 16:41:59 +01:00
Dan
604fc7af71 Handle FirstnameInvalid error 2018-01-24 21:53:27 +01:00
Dan
e6fdc6a4e9 Update docstrings 2018-01-24 21:46:28 +01:00
Dan
ee41955db0 Set the password to None after successfully authorizing the user 2018-01-24 18:41:23 +01:00
Dan
5b7459cb71 Fix infinite loop in case a flood wait is triggered 2018-01-24 18:38:18 +01:00
Dan
a662c1734f Move GetPassword request outside the loop 2018-01-24 18:35:17 +01:00
Dan
f65d369fd1 Clean the code and add some more functionality:
- The phone_code can also be passed in advance (for test numbers).
- Pass first_name and last_name for automatic account creation.
- Handle PhoneCodeInvalid errors.
2018-01-24 17:53:30 +01:00
Lonami Exo
d01d852dc2 Support custom callbacks on Client.authorize() 2018-01-24 15:40:39 +01:00
Dan
3e5421f55f Remove unused regex pattern 2018-01-23 18:16:46 +01:00
Dan
ba0f5aa4d6 Update docstrings 2018-01-23 15:38:01 +01:00
Dan
84ae464b52 Add ParseMode module 2018-01-23 15:35:21 +01:00
Dan
e7cbff8087 Add optional parameter parse_mode 2018-01-23 15:18:52 +01:00
Dan
c39bf3043d Move formatting classes inside the Client sub-package 2018-01-23 15:17:48 +01:00
Dan
ae92c92c06 Revamp HTML style parser 2018-01-23 14:43:12 +01:00
Dan
0e3d08ae75 Add HTML style parse mode 2018-01-22 00:26:43 +01:00
Dan
70be5558c9 Update to v0.4.2 2018-01-21 17:12:04 +01:00
Dan
0ac5b37278 Re-encode by replacing errors 2018-01-21 16:59:06 +01:00
Dan
c7d2de3ee9 Force UTF-8 encoding when r/w'ing text files 2018-01-21 16:56:50 +01:00
Dan
ba3203865f Move starred expressions at the end 2018-01-20 19:40:09 +01:00
Dan
0f09989d67 Update docstrings 2018-01-20 16:01:23 +01:00
Dan
8cc0fe14da Add Cloud Password (two-step verification) support 2018-01-20 15:46:17 +01:00
Dan
8c88a69d81 Remove redundant escape characters 2018-01-20 14:45:13 +01:00
Dan
ea35fa2480 Update to Layer 75 2018-01-20 14:43:23 +01:00
Dan
a3c3d5a740 Update to v0.4.0 2018-01-18 14:19:18 +01:00
Dan
4784ba53e1 Remove redundant code 2018-01-18 12:22:16 +01:00
Dan
3686f6921d Remove try..except block, now pyaes is made available during setup 2018-01-17 00:16:23 +01:00
Dan
789cffa4f7 Remove print call 2018-01-16 22:06:04 +01:00
Dan
ba21430512 Add SOCKS5 proxy support 2018-01-16 22:05:19 +01:00
Dan
e9f6bce579 Reformat connection classes to accommodate proxy settings 2018-01-16 16:33:28 +01:00
Dan
0aed7bf24a Use socks socket to allow enabling a proxy 2018-01-16 16:26:20 +01:00
Dan
155087e305 Set the update handler *after* fetching the dialogs 2018-01-15 13:44:29 +01:00
Dan
ca8e5679ee Update docstrings 2018-01-15 13:42:05 +01:00
Dan
3e83e4e565 Revert back to "|" 2018-01-15 13:10:44 +01:00
Dan
4250ac1760 Fix cross-reference 2018-01-15 11:57:16 +01:00
Dan
2911a64772 Add ability to delete messages on channels and supergroups 2018-01-12 20:52:43 +01:00
Dan
ead7573d33 Replace "|" with "or" 2018-01-08 06:34:49 +01:00
Dan
44d1679108 Add ability to export current links without revoking the old ones 2018-01-08 06:31:48 +01:00
Dan
25412cdfd7 Update to v0.3.3 2018-01-06 14:30:55 +01:00
Dan
75dbbaeaf5 Use concise names when cross-referencing, "type" is often implicit 2018-01-06 12:28:17 +01:00
Dan
5244e962d1 Fix reformatted functions names 2018-01-04 16:30:29 +01:00
Dan
b4fee5b5e0 Update docstrings 2018-01-04 03:02:55 +01:00
Dan
b06ae1c38e Update to v0.3.2 2018-01-03 19:10:40 +01:00
Dan
9bfe4b5058 Add type hinting in Client docstrings 2018-01-03 17:39:12 +01:00
Dan
0292d1d446 Add more detailed docs for ChatAction class 2018-01-03 17:37:51 +01:00
Dan
d70c2bb564 Update copyright year 2018-01-01 13:24:07 +01:00
Dan
8339f493bc Don't retry forever 2017-12-31 11:46:42 +01:00
Dan
5297fb0587 Update to v0.3.0 2017-12-30 22:48:47 +01:00
Dan
74788f934f Expose the Error class from the main package 2017-12-30 19:31:22 +01:00
Dan
5e7d9af95d Document the Error class 2017-12-30 19:30:51 +01:00
Dan
8be5351452 Add "Raises" section in docstrings 2017-12-30 19:23:18 +01:00
Dan
1df1762d54 Add docstrings for exposed classes and methods 2017-12-29 21:44:45 +01:00
Dan
df5cee5b03 Remove unnecessary branch 2017-12-28 13:10:01 +01:00
Dan
211381a9a8 Skip already processed messages 2017-12-28 13:06:26 +01:00
Dan
4019693363 Add export_chat_invite_link method 2017-12-27 21:23:00 +01:00
Dan
e242f2a555 Add support for downloading files in different DCs 2017-12-27 20:59:37 +01:00
Dan
ba0af8043c Add Null primitive data type 2017-12-27 13:05:59 +01:00
Dan
8a8e863598 Add edit_message_caption method 2017-12-26 18:50:57 +01:00
Dan
f62ce30dbf Check if not None before calling .join() 2017-12-26 01:19:38 +01:00
Dan
2d9579945b Update to v0.2.2 2017-12-25 13:45:16 +01:00
Dan
6b9a757ce7 Add delete parameter to delete the chat dialog 2017-12-25 13:02:14 +01:00
Dan
924302aed5 Fix get_dialogs not fetching some dialogs containing service messages 2017-12-25 12:51:03 +01:00
Dan
64fbcf2237 Add leave_chat method 2017-12-25 12:47:08 +01:00
Dan
c7f7825c92 Add join_chat method 2017-12-25 12:30:48 +01:00
Dan
aef1386a1a Accept usernames starting with "@" 2017-12-25 11:49:59 +01:00
Dan
3eaba9d2f4 Fix deserialization for bare Vectors 2017-12-25 11:47:08 +01:00
Dan
7b6d71753d Update to v0.2.1 2017-12-24 00:04:09 +01:00
Dan
5128f6310b Wait for threads to stop when closing the session 2017-12-23 23:43:20 +01:00
Dan
0231ce58d5 Remove some TODOs in code 2017-12-23 14:02:14 +01:00
Dan
9792ee902d Add get_user_profile_photos method 2017-12-23 13:34:06 +01:00
Dan
54fa3af4d5 Add initial support for photos download 2017-12-23 12:26:26 +01:00
Dan
ef7ee13a56 Wait a second before retrying 2017-12-22 09:27:47 +01:00
Dan
e8f04793ea Add CDN DC-121 IP in production DCs list 2017-12-22 09:27:13 +01:00
Dan
92d1bcfb41 Add CDN DC-140 RSA key 2017-12-22 09:25:49 +01:00
Dan
d01f6f67a9 Update to v0.2.0 2017-12-20 16:31:58 +01:00
Dan
0f2ef8e681 Add download support for non-CDN files 2017-12-20 16:21:56 +01:00
Dan
0fbc5e1a90 Add get_file method (to be refined) 2017-12-19 14:00:19 +01:00
Dan
b35fabd9d5 Add AES CTR operation mode 2017-12-19 13:59:15 +01:00
Dan
14632c9bb1 Don't call InitConnection on CDN DCs 2017-12-19 11:38:15 +01:00
Dan
a9087a2a8c Add CDN DC-121 RSA Public Key 2017-12-19 11:36:34 +01:00
Dan
cbaa50747a Add CDN DC-121 IP 2017-12-19 11:35:26 +01:00
Dan
b6817bc90a More verbose error 2017-12-19 11:33:45 +01:00
Dan
5e157c2598 Remove old MTProto v1.0 code 2017-12-18 15:16:21 +01:00
Dan
d79d4f7821 Update to v0.1.8 2017-12-18 14:51:57 +01:00
Dan
bdc2ab6c73 Rewrite save_file to handle missing file parts 2017-12-18 14:41:32 +01:00
Dan
b23b41bc7d Lock the send method for every tcp mode, not only for tcp_full 2017-12-18 14:14:44 +01:00
Dan
dde01cc9b9 Fix unhandled exception in case the connection is already closed 2017-12-18 13:50:00 +01:00
Dan
316c426429 Handle non-existent auth_key_id errors 2017-12-18 09:50:41 +01:00
Dan
8086d68b27 Update to v0.1.7 2017-12-18 09:08:19 +01:00
Dan
99a81ad1d6 Fix file uploading for Python < 3.5 2017-12-18 09:07:51 +01:00
Dan
14127ae1f0 Update to v0.1.6 2017-12-17 14:39:37 +01:00
Dan
53e74e34ad Call the proper logger 2017-12-17 13:52:57 +01:00
Dan
b6607fede0 Add idle mechanism to gently stop the program 2017-12-17 13:52:33 +01:00
Dan
c83daf8771 Correctly shutdown the socket 2017-12-17 13:50:43 +01:00
Dan
a4d00b7376 Expose UnknownError class 2017-12-17 13:50:12 +01:00
Dan
32110e8578 Add send_venue method 2017-12-16 02:03:09 +01:00
Dan
ae36a57ee1 Add send_video_note method 2017-12-16 01:45:29 +01:00
Dan
ecd40f267e Add send_voice method 2017-12-16 01:27:13 +01:00
Dan
d528672a3b Add send_video method 2017-12-16 01:16:52 +01:00
Dan
9986b707ae Default to audio/mpeg mime type when sending audios 2017-12-16 01:05:25 +01:00
Dan
b90c1fe263 Update to v0.1.5 2017-12-15 10:11:14 +01:00
Dan
31b53e027b Add send_document method 2017-12-15 10:09:29 +01:00
Dan
690fe5f55a Little lonely comma 2017-12-14 11:07:04 +01:00
Dan
4a8808fa3c Remove blank line 2017-12-14 11:04:15 +01:00
Dan
914e7745f6 Update to v0.1.4 2017-12-14 10:59:43 +01:00
Dan
60dc1e577c Add send_audio method 2017-12-14 10:57:30 +01:00
Dan
a5d1b7f480 Add send_photo method 2017-12-14 09:44:51 +01:00
Dan
8570d8a322 Implement file uploading 2017-12-14 09:34:58 +01:00
Dan
cc95cd62bb Update to v0.1.3 2017-12-14 01:04:12 +01:00
Dan
ec8140a1d9 Add support for user mentions 2017-12-13 10:44:24 +01:00
Dan
7f1bde662a Store parsed peers instead of raw dicts 2017-12-13 09:53:50 +01:00
Dan
e7c44933c2 Move chat actions to a separate class 2017-12-12 14:51:02 +01:00
Dan
bfe82182e1 Update v0.1.2 2017-12-12 11:20:23 +01:00
Dan
3051adb5b9 Set info level when logging acks 2017-12-12 08:38:05 +01:00
Dan
6fa8375cb5 Hint the correct type 2017-12-12 08:07:31 +01:00
Dan
ff3dd4a3ba Increase wait timeout 2017-12-11 12:55:31 +01:00
Dan
7374c10afd Faster Object deserialization (~3x) 2017-12-11 11:35:38 +01:00
Dan
33263e9ce6 Warn if retrying 2017-12-11 10:34:14 +01:00
Dan
6fd8e960ec Add stop method for Client 2017-12-09 20:52:02 +01:00
Dan
746a4b685f Correctly set the update handler when authorizing a new user 2017-12-09 20:34:31 +01:00
Dan
0a00d2a8ee Reformat terms display 2017-12-09 17:11:09 +01:00
Dan
519e9c8613 Display notice only once 2017-12-09 17:09:39 +01:00
Dan
cbcb1c78c4 Don't throw errors if auth key creation fails; try again instead 2017-12-09 15:26:33 +01:00
Dan
87b2c4b1e7 Comment out MTProto 1.0 implementation 2017-12-09 02:25:14 +01:00
Dan
a3e5ba8862 Use MTProto 2.0 instead of 1.0 2017-12-09 02:24:21 +01:00
Dan
42f9a2d699 Add MTProto 2.0 implementation 2017-12-09 02:21:23 +01:00
Dan
e3b05cbc4e Add MTProto 2.0 key derivation function 2017-12-09 01:10:09 +01:00
Dan
fe9b968ad8 Add basic update handler 2017-12-08 23:40:29 +01:00
Dan
315563ede0 Add TODO for delete_messages 2017-12-07 02:36:01 +01:00
Dan
d0feb8fb15 Add delete_messages method 2017-12-07 02:31:05 +01:00
Dan
e3850ce75a Parse markdown on edit_message_text 2017-12-07 02:15:41 +01:00
Dan
28c3a07d84 Fallback to "typing" instead of throwing an error 2017-12-07 02:11:35 +01:00
Dan
88bc7b59a1 Fix wrong keyword argument 2017-12-07 02:02:51 +01:00
Dan
500c88ae84 Reformat code 2017-12-07 02:02:16 +01:00
Dan
5c11f42933 Rename ACTIONS -> CHAT_ACTIONS 2017-12-06 21:57:46 +01:00
Dan
f561ef59bf Reformat method 2017-12-06 21:51:23 +01:00
Dan
1fe651f0b0 Add edit_message_text method 2017-12-06 21:48:25 +01:00
Dan
79e972df85 Move ACTIONS outside the method 2017-12-06 21:33:57 +01:00
Dan
0a12d9c5bd Add send_chat_action method 2017-12-06 21:25:22 +01:00
Dan
f60e48ab0a Add send_contact method 2017-12-06 21:05:25 +01:00
Dan
a8ae43adca Add send_location method 2017-12-06 21:01:23 +01:00
Dan
70e4e4e008 Enable fetching all user's dialogs 2017-12-06 20:46:21 +01:00
Dan
ae84bb267f Add forward_messages method 2017-12-06 20:45:56 +01:00
Dan
740c96f0ea Optimize imports 2017-12-06 20:26:40 +01:00
Dan
08d6912637 Add disable_notification parameter 2017-12-06 20:26:01 +01:00
Dan
055367fe9c Fix method signatures 2017-12-06 19:28:18 +01:00
Dan
29ef38df89 Remove unnecessary checks 2017-12-06 19:14:45 +01:00
Dan
f30746a0b2 Use unsigned constructor id 2017-12-06 19:13:50 +01:00
Dan
bbf7738631 Remove unnecessary import 2017-12-06 19:07:50 +01:00
Dan
a459f7a1a3 Workaround broken installation process 2017-12-06 18:27:41 +01:00
Dan
4ed7110048 Add extensions package 2017-12-05 12:42:57 +01:00
Dan
fc5fc6e85b Add client package 2017-12-05 12:42:09 +01:00
Dan
a8cad5abfb Add session package 2017-12-05 12:41:07 +01:00
Dan
afcd19a120 Add crypto package 2017-12-05 12:39:04 +01:00
Dan
981d644288 Add connection package 2017-12-05 12:37:30 +01:00
Dan
95cb91b778 Add error package 2017-12-05 12:36:11 +01:00
Dan
bf27bf1cb4 Add core types 2017-12-05 12:32:23 +01:00
Dan
c9f90faf3d Add primitive types 2017-12-05 12:29:15 +01:00
Dan
5332a5f36d Add top package init file 2017-12-05 12:26:27 +01:00