Lonami Exo
2c61c50671
Save session on connect and fix some typos
...
The session is saved upon connecting with the hope to make
sure that the authorization key gets saved to disk before
the next run.
2018-10-24 16:39:59 +02:00
Lonami Exo
4562ba9ccf
Fix auth_key not actually being saved
...
This would make the user have to login every time.
2018-10-22 20:58:07 +02:00
Lonami Exo
740a715acd
Handle empty code when starting
2018-10-21 16:05:31 +02:00
Lonami Exo
0755421fc2
Fix update loop should not disconnect causing race condition
...
When starting the client, on phone migrations, it would
disconnect twice right after connecting which would
trigger a not-connected error.
2018-10-21 16:02:13 +02:00
Lonami Exo
396ec908dd
Fix _borrow_exported_sender connection
2018-10-20 17:11:40 +02:00
Lonami Exo
a2bae8374e
Fix .get_entity('me') not working from c31635c
( #1024 )
2018-10-19 16:57:46 +02:00
Lonami Exo
945b34b103
Set MTProtoSender.auth_key on its creation
2018-10-19 13:56:11 +02:00
Lonami Exo
419fe6dca3
Raise RuntimeError on with blocks that need async
2018-10-17 11:30:07 +02:00
Lonami Exo
9cbc088b76
Make disconnect synchronous
...
This also fixes a bug when auto-reconnecting in MTProtoSender.
2018-10-16 11:56:17 +02:00
Lonami Exo
34cefed9ff
Except BotMethodInvalidError on getContacts
2018-10-15 18:42:35 +02:00
Lonami Exo
0094eb391e
Support exclusive conversations by default
2018-10-12 22:17:07 +02:00
Lonami Exo
cf6686ff42
Revert async sessions from 3dd8b7c
(breaks sync properties)
...
Such as ChatGetter.input_chat and SenderGetter.input_sender
which rely on the fact that access to the session file will
be synchronous.
2018-10-12 22:00:02 +02:00
Lonami Exo
e677a6bb05
Fix is_user_authorized after log_out
2018-10-12 19:57:16 +02:00
Lonami Exo
32c884d543
Revert d392939
and use empty tuple as a sentinel value
2018-10-08 11:33:56 +02:00
Lonami Exo
8c14259728
Update documentation with new sections
2018-10-06 20:20:11 +02:00
Lonami Exo
fb9660afe0
Add missing awaits
2018-10-06 12:39:07 +02:00
Lonami Exo
67be6418b6
Remove callback parameter from custom.Button
...
Its behaviour was strange. Removing and adding an event
handler every time a message is sent is not a good idea
and it would just do more harm than good.
2018-10-05 20:54:50 +02:00
josephbiko
3dd8b7c6d1
Support async def in sessions ( #1013 )
2018-10-05 20:25:49 +02:00
Lonami Exo
d392939018
Create a default module to use as a sentinel value
...
This looks better in the documentation than utils.Default,
cleans the utils with specific stuff like this, and users
may use it more easily.
2018-10-05 14:20:50 +02:00
Lonami Exo
aa3f26263c
Fix timeout not accepting timedelta
2018-10-05 14:06:15 +02:00
Lonami Exo
ebde3be820
Add support for proxy again
2018-10-05 13:26:44 +02:00
Lonami Exo
db83709c6b
Support connection timeout
2018-10-05 13:26:44 +02:00
Lonami Exo
cf7e5d5592
Set auth_key on connection
2018-10-05 13:26:44 +02:00
Lonami Exo
21ffa2f26b
Fix DC migration and seqno
2018-10-05 13:26:44 +02:00
Lonami Exo
9402b4a26d
Create a new layer to lift encryption off the MTProtoSender
2018-10-05 13:26:44 +02:00
Lonami Exo
5daad2aaab
Actually use the new connection class
2018-10-05 13:26:44 +02:00
Lonami Exo
ec0aa65fe1
An user -> a user
2018-09-22 19:18:42 +02:00
Lonami Exo
d5d3733fd4
Create events.register and siblings for "handler templates"
...
This can be thought of as a different approach to Flask's blueprints.
2018-09-22 12:51:58 +02:00
Lonami Exo
cb6f980277
Better autocast to InputPeerDialog and documentation
2018-09-22 10:56:37 +02:00
Lonami Exo
9275a9fcbb
Fix several typos and misleading docs ( #987 , #990 )
2018-09-19 17:51:18 +02:00
Lonami Exo
db8bea3968
Fix getting messages by ID for private chats
2018-09-16 15:45:38 +02:00
Lonami Exo
080585da49
Support coroutine callbacks in start()
2018-09-09 16:17:20 +02:00
Lonami Exo
ae085f30a8
Save update state upon disconnect
2018-09-04 11:58:55 +02:00
Lonami Exo
bbeb8f4ba3
Clarify and fix some docstrings
2018-09-04 11:27:10 +02:00
Lonami Exo
8a9650f131
Fix-up previous commit 0bb0d0b
missing parameter
2018-08-27 10:58:06 +02:00
Lonami Exo
576ac666d9
Fix resolving events while disconnected
2018-08-27 01:20:01 +02:00
Lonami Exo
5ca1edb228
Return the correct entity from .get_entity(username)
...
The precedence of the or operator made the check succeed always
out of pure luck, since `''.lower()` would never be the chosen
username, but a present username is truthy.
This presumably worked because Telegram only returns one result
from the call, or puts the right entity the first one.
2018-08-26 12:00:17 +02:00
s3mple
29d122e810
Fix-up previous commit f17d7e9
( #967 )
2018-08-24 19:50:55 +02:00
s3mple
f17d7e9c5e
New exception class for multiple errors ( #965 )
2018-08-24 18:25:58 +02:00
s3mple
aa9bc9080f
Support custom symbol set for aggressive get_participants
2018-08-21 17:15:35 +02:00
Lonami Exo
d3a6822fc9
Properly resolve events
2018-08-21 12:18:12 +02:00
Lonami Exo
47190d7d55
Fix event loop not being passed into many asyncio calls
2018-08-21 11:31:14 +02:00
Lonami Exo
d474458136
Simplify event resolving logic
...
Although this commit introduces a race condition since an
event may only be half-resolved. A lock is thus needed,
but it depends on an event-loop to which we don't have
access in the class-level.
2018-08-21 11:08:08 +02:00
Lonami Exo
9f237cc928
Simplify event building logic
...
This will also fix some bugs where the event type being accessed
would not be available, since it is now built on-demand, without
the need to keep track for the count of each event type.
2018-08-21 10:27:12 +02:00
Lonami Exo
dda1f0b1dd
Stop copying reply when resending Message, fix file replies
2018-08-19 11:49:36 +02:00
Lonami Exo
7efa53fedf
Update to v1.2
2018-08-14 18:48:56 +02:00
Lonami Exo
653686996a
Revisit catch_up ( #808 )
2018-08-13 12:32:12 +02:00
Lonami Exo
e3bf6e3330
Document reply markup limits
2018-08-07 12:46:05 +02:00
Lonami Exo
9195bccb41
Fix sending files from disk after 6d1bc22
( #941 and #943 )
2018-08-06 18:03:42 +02:00
Lonami Exo
48113851a8
Fix built Conversation events don't have the client
2018-08-05 02:01:06 +02:00
Lonami Exo
ca40a9c282
Add Conversation.wait_event
2018-08-05 01:55:41 +02:00
Nikolay Tretyak
d0c566bbdb
Fix iter_participants is failing when _total is None ( #936 )
2018-08-04 11:30:24 +02:00
Lonami Exo
785ef7676f
Create a basic custom.Conversation
2018-08-03 17:51:56 +02:00
Lonami Exo
60c61181d9
Return custom.InlineResults instead of a simple list
2018-08-02 23:31:51 +02:00
Lonami Exo
7cce7aa3e4
Return helpers.TotalList instances on client.get_ methods
2018-08-02 23:00:10 +02:00
Lonami Exo
7a7923b317
Fallback to MemorySession if sqlite3 is not available
2018-08-02 15:17:44 +02:00
Lonami Exo
328f737ef7
Support custom.MessageButton as buttons reply markup
2018-08-02 13:17:59 +02:00
Lonami Exo
80a5e709cb
Support .download_media with bot API file_id
2018-08-01 13:40:07 +02:00
Lonami Exo
e359b428c3
Merge branch 'inlineresult'
2018-08-01 01:06:59 +02:00
Lonami Exo
7a2d7d98ad
Implement client.inline_query()
2018-08-01 01:06:47 +02:00
Lonami Exo
76c7217000
Support downloading web documents
2018-08-01 00:37:25 +02:00
Lonami Exo
6d1bc227aa
Support bot API file_id on send_file
2018-07-31 23:35:22 +02:00
Lonami Exo
f0a26d7c76
Implement global search ( closes #920 )
2018-07-29 23:16:22 +02:00
Lonami Exo
f2c8663266
Fix copy pasted docs and snake_case files
2018-07-28 11:28:02 +02:00
Lonami Exo
26f121060d
Always support aggressive in iter_participants ( #904 )
2018-07-25 12:40:49 +02:00
Lonami Exo
6c51c35ccf
Fix _iter_ids not expecting InputChannel
2018-07-24 18:20:34 +02:00
Lonami Exo
1c0d595205
Replace custom.Message creation with ._finish_init
2018-07-22 19:20:55 +02:00
Lonami Exo
e4963237dc
Fix-up a332d29
should not be exported on invalid DC
2018-07-22 01:08:03 +02:00
Lonami Exo
a332d29c4c
Fix-up 5a9a00e
to handle exporting senders to the same DC
2018-07-22 00:40:39 +02:00
Lonami Exo
46b2d910d7
Fix logging of functools.partial() callbacks
2018-07-21 17:52:42 +02:00
Lonami Exo
3bdfd4b32c
Make build_reply_markup public
2018-07-21 13:55:26 +02:00
Lonami Exo
7750c9ff2f
Make sure to not add callbacks from buttons= twice
2018-07-21 13:24:32 +02:00
Lonami Exo
24758b82ec
Don't make a request at all if it will trigger flood wait
2018-07-21 12:25:20 +02:00
Lonami Exo
a9cc35e604
Avoid triggering FileMigrateError when possible
2018-07-21 11:59:44 +02:00
Lonami Exo
5a9a00e7ae
Assume exported auths last forever
...
This implies that export senders will NOT be deleted from
memory once all borrows are returned, thus their auth_key
remains as well. When borrowing them if they existed they
will be connect()ed if it's the first borrow.
This probably fixes #901 .
2018-07-21 11:24:20 +02:00
Lonami Exo
2d7c8908eb
Create events.InlineQuery
2018-07-15 11:31:24 +02:00
Lonami Exo
22c8fd7378
Fix Updates object being dispatched to user handlers
2018-07-12 09:45:29 +02:00
Lonami Exo
1d0fd6801d
Build events only once per update
2018-07-11 11:22:43 +02:00
Lonami Exo
81f31e09c8
Keep track of how many events for each type were added
2018-07-11 10:50:19 +02:00
Lonami Exo
e902304360
Expose silent parameter when sending messages
2018-07-11 10:16:21 +02:00
Lonami Exo
a3d6baf408
Actually add callbacks registered through Button
2018-07-10 19:50:18 +02:00
Lonami Exo
ea07cf8d12
Add buttons parameter to client.edit_message
2018-07-10 17:59:13 +02:00
Lonami Exo
531a02a2a1
Support buttons when sending a file too
2018-07-10 17:59:13 +02:00
Lonami Exo
8c28be04bc
Create a custom.Button class and support send_message(buttons=...)
2018-07-10 17:59:13 +02:00
Lonami Exo
a50d013ee6
Support interactively signing in as a bot
2018-07-10 17:59:13 +02:00
Lonami
ac5f8da50c
Fix update.pts may be None
2018-07-10 16:59:40 +02:00
josephbiko
e6981e7676
Remove empty except ( #887 )
2018-07-09 20:54:43 +02:00
Lonami Exo
e0513e10df
Remove debug print
2018-07-08 15:24:33 +02:00
Lonami Exo
d02cb84abe
Fix end of sync with block warning on disconnect
2018-07-08 00:05:09 +02:00
Lonami Exo
54bffb30d8
Fix send_message('me', Message)
2018-07-08 00:05:09 +02:00
Lonami Exo
cb3846cb7f
Add client.get_peer_id
2018-07-07 12:45:50 +02:00
Lonami Exo
bb4ed4019f
Revert forward_messages requiring named from_peer arg
2018-07-07 12:14:50 +02:00
Lonami Exo
bd878acbde
Support InputNotifyPeer autocast
2018-07-07 12:14:03 +02:00
Lonami Exo
dfda61a1b5
Correct thumb parameter documentation
2018-07-07 12:01:42 +02:00
Harry
dfcf414111
Fix hachoir don't close files by itself ( #875 )
2018-06-29 16:45:18 +02:00
Lonami Exo
baedd10110
Update to layer 82
2018-06-29 13:23:56 +02:00
Lonami Exo
3c2ff45b0b
Support dispatching updates in a sequential order
2018-06-29 10:45:04 +02:00
Lonami Exo
0f737a86af
Revert sign_in needing named code argument
2018-06-29 09:57:57 +02:00
Lonami Exo
dbca38c6f5
Allow iterating over messages in reverse
2018-06-28 21:15:29 +02:00
Lonami Exo
ac6dbb8a5c
Fix is_connected accessing unexisting property
2018-06-28 16:04:12 +02:00
Lonami Exo
ac2b10f2a5
Stop using loop's time() function
2018-06-28 15:12:18 +02:00
Lonami Exo
491302bb32
Fix parallel downloads when using exported senders
2018-06-28 14:10:36 +02:00
Lonami Exo
a6782ac6ea
Send getState upon successful reconnection
2018-06-27 19:40:32 +02:00
Lonami Exo
c0412e4410
Fix run_until_disconnected disconnect with telethon.sync
2018-06-27 19:39:47 +02:00
Inokenty
f014c040a3
Keyword arg instead positional for sign_in ( #869 )
2018-06-27 17:23:46 +02:00
Lonami Exo
a46a45d060
Don't disconnect on del if already disconnected/loop closed
2018-06-27 13:57:17 +02:00
Lonami Exo
72835dfb44
Update to v1.0
2018-06-27 13:41:20 +02:00
Lonami Exo
58aadce5ba
Fix-up 2b090f8
not actually resaving new auth_keys
2018-06-27 10:15:59 +02:00
Lonami Exo
8c5bbdf7eb
Check from_user client-side for PMs in iter_messages
2018-06-26 16:48:03 +02:00
Lonami Exo
09ea8ffe0b
Fix send_file completely ignoring input parameters
2018-06-26 16:39:43 +02:00
Lonami Exo
2bd0c6c525
Support URLs on send_file
2018-06-26 16:39:22 +02:00
Lonami Exo
2b090f8888
Fix connect not saving different authkeys
2018-06-26 16:20:30 +02:00
Lonami Exo
9159e2a720
Remove report_errors/flood_sleep_threshold from the session
2018-06-26 16:09:16 +02:00
Lonami Exo
6152e33454
Fix sync run_until_disconnected not liking Ctrl+C
2018-06-26 15:48:38 +02:00
Lonami Exo
f6bfcad49e
Don't close session file on _switch_dc disconnect
2018-06-26 13:37:34 +02:00
Lonami Exo
3556d5ed79
Fix-up 9971145
still accessing unexisting properties
2018-06-26 13:15:25 +02:00
Lonami Exo
9971145721
Assert properties exist on disconnect
2018-06-26 12:03:31 +02:00
Lonami Exo
32786d16fd
Support using the client in with blocks
2018-06-26 11:26:01 +02:00
Lonami Exo
d4b508bf48
Fix __del__ with sync magic
2018-06-26 11:23:51 +02:00
Lonami Exo
75dc4809f5
Remove all deprecated methods
2018-06-26 11:10:11 +02:00
Lonami Exo
a43c6c2b68
Work around Python 3.5.2 bug causing 100% CPU load on script's end
2018-06-26 11:10:11 +02:00
Lonami Exo
044e6e8a85
Await updates task to finish upon disconnect
2018-06-26 11:10:11 +02:00
Lonami Exo
9c6d2894fc
Allow start when the loop is not running
2018-06-25 13:42:29 +02:00
Lonami Exo
db5cb74bdd
Allow run_until_disconnected when the loop is running
2018-06-25 13:32:31 +02:00
Lonami Exo
d4479a0a4e
Save the session file less often
2018-06-24 12:21:58 +02:00
Lonami Exo
51da48ddd2
Support custom parse_mode to use MessageEntityMentionName
2018-06-22 16:18:23 +02:00
Lonami Exo
3d3698562b
Cleanly handle KeyboardInterrupt in run_until_disconnected
2018-06-22 13:26:24 +02:00
Lonami Exo
3973755333
Support .name attr in utils.is_type/client.upload_file
...
This means open()'ed files will have their name used properly,
and that you can set b.name = 'somename.jpg' to io.BytesIO()
objects to have them uploaded as images.
2018-06-21 16:31:03 +02:00
Lonami Exo
d8af64e3b9
Clarify/fix get[_input]_entity docstrings
2018-06-21 11:08:14 +02:00
Lonami Exo
cfa5cd0db2
Fix is_user_authorized always returning True
2018-06-21 09:32:09 +02:00
Lonami Exo
d6818f25f5
Fix rare iter_dialogs infinite loop
2018-06-20 21:12:47 +02:00
Lonami Exo
9c0a22ddd7
Fix Python 3.5 compatibility
2018-06-20 20:18:16 +02:00
Lonami Exo
a1477a84bf
Update in-memory updates.State
2018-06-20 19:58:01 +02:00
Lonami Exo
a0eb824e87
Support ignore_migrated in iter_dialogs
2018-06-20 12:03:42 +02:00
Lonami Exo
c85ba4accc
Revisit documentation, cross-references and unnecessary indents
2018-06-20 11:06:03 +02:00
Lonami Exo
4e9a84c3b5
Remove underscore from module names
2018-06-18 21:02:42 +02:00
Lonami Exo
262018959f
Process entities from sent requests/updates
2018-06-18 20:44:20 +02:00
Lonami Exo
463847ad50
Revisit and remove a few TODOs
2018-06-18 18:46:06 +02:00
Lonami Exo
ebfe8ebf40
Configurable per-client request/connection retries
2018-06-18 18:13:00 +02:00
Lonami Exo
51d8ea0fa8
Shield disconnected Future in the MTProtoSender instead
2018-06-18 15:55:24 +02:00
Lonami Exo
efc48ee3b0
Shield self.disconnected and log RpcCallFail
2018-06-18 14:28:30 +02:00
Lonami Exo
3c1d7d2da2
Fix MessageEmpty when searching for messages
2018-06-18 13:48:50 +02:00
Lonami Exo
374f5e2aab
Periodically send ping/getState
2018-06-18 13:22:25 +02:00
Dan Elkouby
d5b349e031
Implement a mechanism to notify of connection failures ( #852 )
2018-06-17 19:29:41 +02:00
Lonami Exo
d9d586171f
Fix MTProtoSender should not send content-related queries
2018-06-17 16:23:22 +02:00
Lonami Exo
aaa7ec757b
Support start() retrying on PasswordHashInvalidError
2018-06-17 14:07:45 +02:00
Lonami Exo
b65cbd8647
Validate to_id when iterating over messages by ID
2018-06-17 11:57:11 +02:00
Lonami Exo
226c35ff8f
Pump up default timeout from 5 to 10s
2018-06-17 11:46:56 +02:00
Lonami Exo
7cfecfaf21
Support pathlib.Path on download/upload
2018-06-16 17:01:20 +02:00
Lonami Exo
cbd5594dba
Use the correct clock time when sleeping on iter_messages
2018-06-15 17:09:16 +02:00
Lonami Exo
509fba8bcc
Fix-up isinstance/is_user_authorized from 06cdf1f
2018-06-15 13:01:16 +02:00
Lonami Exo
31c94ec184
Add a lock for resolving events
2018-06-15 10:11:43 +02:00
Lonami Exo
091b03c635
Use create_task instead ensure_future
2018-06-14 23:33:56 +02:00
Lonami Exo
06cdf1fdb0
Raise on phone/network migrate if authorized
2018-06-14 23:16:00 +02:00
Lonami Exo
c788e17c22
Fix _handle_update not expanding Updates
2018-06-14 22:51:57 +02:00
Lonami Exo
0f14f3b16a
Support custom event loops
2018-06-14 19:35:12 +02:00
Lonami Exo
908dfa148b
Revisit codebase to add missing async/await
2018-06-14 17:09:20 +02:00
Lonami Exo
3ce8b17193
Dispatch updates to event handlers
2018-06-13 16:20:15 +02:00
Lonami Exo
a91109c9fa
Retry send_code_request on AuthRestartError
2018-06-13 10:55:37 +02:00
Lonami Exo
3324090c96
Fix non-asyncio sleep
2018-06-13 09:59:30 +02:00
Lonami Exo
3f16c92eb3
Subclass TLRequest for content-related objects
2018-06-12 20:14:21 +02:00
Lonami Exo
f9cd220ddd
Implement _get_exported_sender
2018-06-11 20:05:10 +02:00
Lonami Exo
f86f52d960
Fix async_generator's and missing awaits
2018-06-10 22:00:55 +02:00
Lonami Exo
8be6adeab4
Make use of the async_generator module
2018-06-10 21:50:28 +02:00
Lonami Exo
15ef302428
Implement _switch_dc/fix missing first request
2018-06-10 21:30:31 +02:00
Lonami Exo
1bde72d375
Make the TelegramClient aggregate all client methods
2018-06-10 19:05:36 +02:00
Lonami Exo
fb8b052754
Separate update requests from the TelegramClient
2018-06-10 13:58:21 +02:00
Lonami Exo
ac2e59b472
Separate auth requests from the TelegramClient
2018-06-10 12:57:36 +02:00
Lonami Exo
4ff0756ffc
Separate download requests from the TelegramClient
2018-06-10 12:04:23 +02:00
Lonami Exo
317b7053a0
Separate parse message methods from uploads
2018-06-10 11:33:20 +02:00
Lonami Exo
83a024656c
Rename client.files as client.uploads
2018-06-09 22:14:51 +02:00
Lonami Exo
ad29f2f5b7
Separate chat requests from the TelegramClient
2018-06-09 22:13:18 +02:00
Lonami Exo
1e91e5a83c
Separate dialogs methods from the TelegramClient
2018-06-09 22:09:02 +02:00
Lonami Exo
4bd20f1ce2
Separate file and message methods from TelegramClient
2018-06-09 22:05:06 +02:00
Lonami Exo
bb9b9796e0
Separate user methods from the base client
2018-06-09 21:22:54 +02:00
Lonami Exo
4b147f0153
Move clients to a new package
2018-06-09 21:11:35 +02:00