Commit Graph

270 Commits

Author SHA1 Message Date
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