Dan
ade1c2f377
Accommodate ipv6 in the Client class
2018-06-13 13:38:14 +02:00
Dan
8e2aec4d3a
Show TOS on sign-ins
2018-06-07 12:54:23 +02:00
Dan
91cf103783
Remove a bunch of useless TODOs
2018-06-02 20:54:23 +02:00
Dan
dc7fe93aeb
Clean up code
2018-06-02 20:52:16 +02:00
Dan
b4a2490da2
Use getpass instead of input
2018-06-01 19:27:05 +02:00
Dan
00b983ccc3
Fix proxy not being correctly updated
2018-05-25 11:52:40 +02:00
Dan
65c209000c
Connection refactoring
2018-05-24 21:19:57 +02:00
Dan
9001ccd11f
Add DisconnectHandler
2018-05-23 14:27:17 +02:00
Dan
8a5743ef0c
Allow FloodWait to be raised in case of non-interactive sign-ins
2018-05-22 16:16:28 +02:00
Dan
c5911a6f6b
Reorganize AES module
2018-05-19 15:36:38 +02:00
Dan
6c5ab7ed8a
Add possibility to choose a config file path
2018-05-11 13:10:49 +02:00
Dan
9bb8fe55da
Remove unused import and class
2018-05-11 12:50:48 +02:00
Dan
65c67aaf57
Move download_media
2018-05-09 13:36:33 +02:00
Dan
8454d438be
Refactor the project by using Mixin classes
...
This will cut client.py down from ~4k to ~1k SLOC and also
makes the whole project tidier and more organized.
2018-05-07 14:30:55 +02:00
Dan
f5521370bb
Add progress_args to download_media as well
2018-05-06 15:45:42 +02:00
Dan
00420aec92
Use the already computed channel_id
2018-05-06 15:06:32 +02:00
Dan
9f3f4099d5
Handle timeouts when getting answers from inline bots
2018-05-05 19:42:38 +02:00
Dan
553e7f714c
Add get_chat method
2018-05-05 18:42:28 +02:00
Dan
7a79e5a0c4
Add media type 1
2018-05-04 18:37:36 +02:00
Dan
14b6ced6e2
Remove unused import
2018-05-03 15:47:02 +02:00
Dan
58952a7d98
Temporarily remove the debug feature
2018-05-02 23:06:22 +02:00
Dan
02ec86f4b2
Respect users' logger level, don't set to WARNING
2018-05-02 22:36:56 +02:00
Dan
f29b8bb7e4
Cache the session right after they start. Related to #68
...
@EriHoss is right, the session can know how to clean itself in
case for some reason it fails to start, hence it makes much more
sense to cache sessions right after they start. Also, clear the
media_sessions dict when stopping to get rid of closed sessions.
2018-05-01 21:08:47 +02:00
Dan
1b48f850bf
Add new sessions to the media_sessions dict before starting them
2018-05-01 20:25:35 +02:00
Dan
83febf2e0c
Cache media sessions. Related to #40 . Fixes #68
2018-05-01 18:15:33 +02:00
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
2e81a2369d
Make download_media hint string as acceptable type
2018-04-30 20:25:45 +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
4d81e6894d
Make optional word italic
2018-04-30 19:30: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
5b492bae9d
Docstring
2018-04-30 16:32:21 +02:00
JosXa
abf89688ed
Also allow strings for send_chat_action
2018-04-30 16:28:43 +02:00
JosXa
e2d80a6087
Made ChatAction an Enum
2018-04-30 16:11:50 +02:00
JosXa
72e95fd322
Made ChatAction an Enum
2018-04-30 16:03:18 +02:00
Dan
e6b4f0e743
Make delete_messages accept iterables
2018-04-30 14:25:11 +02:00
Dan
b41c009962
Make forward_messages accept iterables
2018-04-30 14:24:05 +02:00
Dan
59ab1591d2
Make get_users accept iterables
2018-04-30 14:22:13 +02:00
Dan
8f8e1cfa25
Make get_messages accept iterables
2018-04-30 14:18:13 +02:00
Dan
53b0736975
Make add_handler return (handler, group) tuple
2018-04-30 13:31:11 +02:00
Dan
deed74840a
Make send_message return the correct Message type
2018-04-30 13:13:30 +02:00
Dan
e2224054d2
Merge branch 'remove-handler-and-locks' of https://github.com/JosXa/pyrogram into JosXa-remove-handler-and-locks
...
# Conflicts:
# pyrogram/client/dispatcher/dispatcher.py
2018-04-30 10:30:34 +02:00
Dan
f824e69b5a
Update client.py
2018-04-30 10:15:34 +02:00
JosXa
bb607e56be
Added locks for modifying and iterating handlers
...
Added `remove_handler` method
Made `add_handler` return a (handler, group) tuple
2018-04-30 00:15:24 +02:00
Dan
33c417942c
Clear thread lists when stopping. Related to #62
2018-04-29 20:20:34 +02:00
Dan
2c253b2fbc
Cleanup docstrings and add some entries to the docs
2018-04-29 19:24:06 +02:00
Dan
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
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
01034c174a
Make get_user_profile_photos return the correct type
2018-04-28 09:04:45 +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
4cb7733821
Regression fix: limit replies to 1 ( Closes #61 )
2018-04-26 10:50:30 +02:00
Dan
6e78935857
Accommodate the new types
2018-04-24 16:08:33 +02:00
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