Commit Graph

447 Commits

Author SHA1 Message Date
Dan
debc459686 Return the correct message type with forward_messages() 2018-04-23 18:33:20 +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
0bba5daea4 Update docstrings 2018-04-18 11:15:09 +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
f47f903f7f Make get_messages return the correct type 2018-04-16 12:42:31 +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
58c9f321b4 Make send_venue return the new type 2018-04-16 11:53:38 +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
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
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
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
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
9631dc7780 Accommodate Syncer 2018-04-13 15:21:34 +02:00
Dan
e38da08e25 Load peers from session file 2018-04-13 15:20:37 +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
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
9165c7f591 Rework decorators impl 2018-04-10 14:54:39 +02:00
Dan
142ce07576 Make handlers accept filters 2018-04-10 00:24:03 +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
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
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
e98b209526 Accommodate the new Dispatcher 2018-04-06 18:48:41 +02:00
Dan
73246c26f9 Rename utils to message_parser 2018-04-06 14:47:00 +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
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
fcf0e4515f Don't try to stop a non-started Client 2018-04-03 14:54:34 +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
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
880eb28e9f Use double quotes 2018-03-30 22:41:34 +02:00
Dan
f1e1480c5a Only parse selected messages 2018-03-27 15:58:04 +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
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
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
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
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
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