Commit Graph

392 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
46e310722a Improve download_media 2018-02-19 13:11:35 +01:00
Dan
15561d19d5 Add initial support for downloading media 2018-02-18 18:11:33 +01:00
Dan
3bd3d99e6a Rewrite get_file 2018-02-18 15:03:33 +01:00
Dan
1bf74a9c25 Merge branch 'master' into tgcrypto 2018-02-16 18:42:43 +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
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
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
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
a6fce057c7 Pass update mentions to the event handler 2018-02-10 16:30:13 +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
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
f8688cd260 Rename worker to net_worker 2018-02-08 18:56:40 +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
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
a358b1f26b Add send_media_group method 2018-02-07 03:05:02 +01:00
Dan
f31cfba94b Merge branch 'master' into tgcrypto 2018-02-03 13:26:53 +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
2b7425019b Merge IGE and CTR into a single class (AES) 2018-01-28 01:44:38 +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
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
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
0e3d08ae75 Add HTML style parse mode 2018-01-22 00:26:43 +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
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
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
75dbbaeaf5 Use concise names when cross-referencing, "type" is often implicit 2018-01-06 12:28:17 +01:00
Dan
b4fee5b5e0 Update docstrings 2018-01-04 03:02:55 +01:00
Dan
9bfe4b5058 Add type hinting in Client docstrings 2018-01-03 17:39:12 +01:00
Dan
d70c2bb564 Update copyright year 2018-01-01 13:24:07 +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
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
8a8e863598 Add edit_message_caption method 2017-12-26 18:50:57 +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
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
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
bdc2ab6c73 Rewrite save_file to handle missing file parts 2017-12-18 14:41:32 +01:00
Dan
99a81ad1d6 Fix file uploading for Python < 3.5 2017-12-18 09:07:51 +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
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
31b53e027b Add send_document method 2017-12-15 10:09:29 +01:00
Dan
4a8808fa3c Remove blank line 2017-12-14 11:04:15 +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
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
6fa8375cb5 Hint the correct type 2017-12-12 08:07:31 +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
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
fc5fc6e85b Add client package 2017-12-05 12:42:09 +01:00