Dan
1fe46610cd
Make plugins disabled by default
...
Users need to explicitly set plugins_dir parameter
2018-10-21 09:42:22 +02:00
Alexandr
ee47c21eed
Add file size limit error
2018-10-19 23:39:29 +07:00
Dan
f4146a8779
Accept None as plugins_dir
2018-10-13 19:33:43 +02:00
Dan
8e238ccc9a
Add plugins_dir docstrings in Client class definition
2018-10-13 11:14:26 +02:00
Dan
345ac6e16a
Merge branch 'develop' into plugins
2018-10-13 10:42:07 +02:00
Dan
9649b1457c
Don't make use of hardcoded default int values too
2018-10-13 10:41:58 +02:00
Dan
340fb9c145
Merge branch 'develop' into plugins
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/client/ext/base_client.py
2018-10-13 10:39:47 +02:00
Dan
a32009a79d
Don't make use of hardcoded default string values
2018-10-13 10:38:44 +02:00
Dan
6a0066b8b5
Move loading plugins logic into a separate method
2018-10-12 17:57:34 +02:00
Dan
4bb50ee35f
More logs when loading plugins
2018-10-12 17:54:52 +02:00
Dan
6c05f9ff42
Sanitize (a bit) plugins directory
2018-10-12 15:26:52 +02:00
Dan
4e516d097f
Don't raise exceptions in case of non-existent plugins folder
...
Don't even warn in case the default plugins folder doesn't exist
2018-10-12 14:32:35 +02:00
Dan
0b79f96b4f
Turn hardcoded plugins dir into a constant
2018-10-12 14:19:26 +02:00
Dan
dfb841baa9
Automatically scan and load plugins from a customizable directory
...
Defined functions found inside the directory that are also decorated
properly will be registered in the Client's dispatcher as handlers.
2018-10-12 14:17:03 +02:00
Dan
b79bd1ea83
Don't swallow left_chat_member updates
...
Even though they are only relevant for supergroups with <50 members
2018-10-01 09:45:32 +02:00
Dan
12c61fb431
Fix unwanted CHANNEL_PRIVATE errors. Fixes #129
2018-10-01 09:40:34 +02:00
Dan
6a89c7ea02
Add missing ipv6 docstrings
2018-09-22 14:21:55 +02:00
Dan
3a858e6a57
Fix config values not being available when not using config.ini file
2018-09-19 17:30:23 +02:00
Dan
8b364202c3
Use list instead of set
2018-09-18 19:17:28 +02:00
Dan
500ec09b47
Clean up load_config
2018-09-18 19:16:55 +02:00
Dan
f850d6352e
Enhance API by adding support for Context Managers. Closes #122
...
A batch script would be as simple as this example:
from pyrogram import Client
with Client("...") as app:
app.send_message("haskell", "hi")
2018-09-17 18:53:04 +02:00
Dan
e7a85520f2
Merge remote-tracking branch 'origin/develop' into develop
...
# Conflicts:
# pyrogram/client/client.py
2018-09-17 15:59:49 +02:00
Dan
c75a4f182a
Handle Telegram exceptions on start(). Fixes #121
...
The client doesn't need to be stopped as it never started successfully.
2018-09-15 13:23:25 +02:00
Dan
db6042e91b
Fetch ChatForbidden and ChannelForbidden peers
...
This fixes unwanted PEER_ID_INVALID errors in cases where a user or a
bot was kicked/banned from a group, supergroup or channel
2018-09-02 13:04:29 +02:00
Dan
9f4d7854e8
Fix ipv6 branch merge mess
2018-08-30 01:23:19 +02:00
Dan
4b3b647245
Merge branch 'ipv6' into develop
...
# Conflicts:
# pyrogram/client/client.py
# pyrogram/session/session.py
2018-08-28 12:19:37 +02:00
Dan
2779e33d13
Rename "token" to "bot_token"
2018-09-10 19:55:53 +02:00
Dan
da436461a8
Revert "Move resolve_peer into utilities"
...
This reverts commit 6437c6c
2018-08-10 11:29:13 +02:00
Dan
6437c6c5be
Move resolve_peer into utilities
2018-08-10 11:17:53 +02:00
Dan
d270d0d2aa
Remove support for t.me/joinchat/ links in resolve_peer for now
...
Another way, which is 100% reliable, will be implemented
Also clean the method a bit by removing useless checks
2018-07-28 23:09:44 +02:00
Dan
0c96fa8b7c
Don't flush each chunk. Let python/os deal with it
2018-07-11 17:05:33 +02:00
Dan
1d7c857e9f
Rename get_dialogs
2018-07-04 21:02:26 +02:00
Dan
52f1f390ca
Rename get_dialogs
2018-07-04 20:59:21 +02:00
Dan
8bdccda6ee
Fix GetDialog call
2018-07-04 14:03:45 +02:00
Dan
c7489cf302
Reformat code
2018-07-04 14:03:14 +02:00
Dan
29fb0ce599
Also log UpdatesTooLong
2018-07-04 13:53:34 +02:00
Dan
e414956e71
Log UpdateChannelTooLong updates
2018-07-03 18:29:25 +02:00
Dan
c660d3a7d0
Fix PhotoSize not having date anymore
2018-07-01 19:43:29 +02:00
Dan
7ed9cd6759
Add "Login successful" message upon login
2018-06-27 14:42:04 +02:00
Dan
ecaba45523
Keep only lang_code
2018-06-27 00:42:32 +02:00
Dan
2587394e07
Merge branch 'layer-81' into develop
2018-06-25 00:43:47 +02:00
Dan
fa7b7d0ce3
Cleanup Client class
2018-06-24 19:09:39 +02:00
Dan
9c420bb73b
Document the new parameters. Closes #86
2018-06-24 19:09:39 +02:00
Dan
9a012077cc
Remove some redundant code. Related to #86
2018-06-24 18:54:47 +02:00
Dan
55ef4abb27
Allow user-defined session properties. Related to #86
...
This commit adds five 5 extra parameters to the Client class:
app_version, device_model, system_version, system_lang_code, lang_code
2018-06-24 18:47:49 +02:00
Dan
f4c0793a0b
Make session leaner by removing some redundant parameters
...
Related to #86
2018-06-24 18:27:41 +02:00
Dan
69d1432251
Allow user-defined values for retries and timeout
2018-06-24 17:47:29 +02:00
Dan
44f71f096f
Better docs for phone_code argument
2018-06-24 16:53:07 +02:00
Dan
47043380fb
Pass the phone number when calling the phone_code callback function
2018-06-24 16:11:22 +02:00
Dan
0cd4795318
Use TOS provided by Telegram
2018-06-23 16:15:44 +02:00
Dan
668da4ae0e
Merge branch 'tos' into layer-81
...
# Conflicts:
# pyrogram/client/ext/base_client.py
2018-06-23 16:11:20 +02:00
Dan
fc541221ed
Accept terms of service after successfully signing in
2018-06-23 16:08:28 +02:00
Dan
7f11f85c8f
Move signal handler inside idle
2018-06-23 15:45:48 +02:00
Dan
82a0c965ba
Don't make start and idle clickable
2018-06-22 13:12:31 +02:00
Dan
e3299bb3b7
Add run() method
2018-06-22 13:10:09 +02:00
Dan
ffd67ed408
Remove debug docstrings
2018-06-22 13:08:27 +02:00
Dan
dab0a05f16
Move idle() and signal_handler() definitions near stop()
2018-06-22 13:08:01 +02:00
YoilyL
2944181b38
fixed session mistake
...
use new session when uploading files instead of main session
2018-06-13 17:54:48 +03:00
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