Lonami Exo
f29ee41f6c
Don't use rowid for the entities table
2017-12-27 13:27:54 +01:00
Lonami Exo
932ed9ea9d
Cast to input peer early on get input entity and close cursor
2017-12-27 13:06:03 +01:00
Lonami Exo
843e777eba
Simplify .process_entities() flow
2017-12-27 12:58:50 +01:00
Lonami Exo
f8745155ac
Stop joining read thread on disconnect, as it may be None
2017-12-27 12:37:07 +01:00
Lonami Exo
f96d88d3b5
Modify .get_entity to support fetching many entities at once
2017-12-27 12:36:38 +01:00
Lonami Exo
3512028d0f
Fix .get_input_entity excepting wrong type
2017-12-27 12:36:14 +01:00
Lonami Exo
b6b47d175c
Fix username.lower() on instances with username field but None
2017-12-27 12:16:49 +01:00
Lonami Exo
5c17097d8d
Clean up .get_entity and remove force_fetch
2017-12-27 11:56:05 +01:00
Lonami Exo
86429e7291
Lowercase usernames before adding them to the database
2017-12-27 11:54:08 +01:00
Lonami Exo
aef96f1b68
Remove custom EntityDatabase and use sqlite3 instead
...
There are still a few things to change, like cleaning up the
code and actually caching the entities as a whole (currently,
although the username/phone/name can be used to fetch their
input version which is an improvement, their full version
needs to be re-fetched. Maybe it's a good thing though?)
2017-12-27 00:50:09 +01:00
Lonami Exo
0a4849b150
Small cleanup of the Session class
2017-12-26 16:59:30 +01:00
Lonami Exo
664417b409
Use sqlite3 instead JSON for the session files
2017-12-26 16:45:47 +01:00
Tanuj
c218df87d7
Remove reference to README.rst ( #504 )
2017-12-25 17:26:29 +01:00
Lonami Exo
238198db5a
Create a convenient class to wrap Dialog instances
2017-12-24 16:18:09 +01:00
Dmitry D. Chernov
fb9813ae61
TelegramClient.send_code_request(): Change logic of methods invocation
...
Before:
First call, force_sms=False: SendCodeRequest
Next call, force_sms=False: SendCodeRequest
First call, force_sms=True: raise ValueError
Next call, force_sms=True: ResendCodeRequest
That's inconvenient because the user must remember whether the code requested at all and whether the request was successful.
In addition, the repeated invocation of SendCodeRequest does nothing.
This commit changes logic to this:
First call, force_sms=False: SendCodeRequest
Next call, force_sms=False: ResendCodeRequest
First call, force_sms=True: SendCodeRequest, ResendCodeRequest
Next call, force_sms=True: ResendCodeRequest
2017-12-24 21:25:17 +10:00
Dmitry D. Chernov
4a2a64ce2f
TcpClient: Catch ConnectionError instead of its particular cases
...
That can be more reliable, especially in the case of using PySocks.
2017-12-23 05:45:23 +10:00
Lonami Exo
992017ddf8
Except ConnectionAbortedError on TcpClient
2017-12-22 11:27:57 +01:00
Lonami Exo
23ab70fc29
Remove unused request_msg_id from the TLObject class
2017-12-20 17:48:41 +01:00
Lonami Exo
c848ae0ace
Move tgread_object() outside specific msg processing calls
2017-12-20 17:45:40 +01:00
Lonami Exo
5842d3741b
Make a proper use of the logging module
2017-12-20 12:47:39 +01:00
Lonami Exo
7d189119f4
Fix salt migration failing with valid signed salts
2017-12-20 12:47:39 +01:00
Lonami Exo
0e0bc6ecbc
Fix session ID is also signed since d4d7aa9
2017-12-07 12:22:40 +01:00
Lonami Exo
1d19bb22a5
Don't ignore NewSessionCreated salt
2017-12-04 20:34:35 +01:00
Lonami Exo
d4d7aa9063
Use signed salt
2017-12-03 21:10:22 +01:00
Lonami Exo
6662f49bcb
Remove another redundant if
2017-11-30 21:10:02 +01:00
Lonami Exo
21a93d58ec
Use a synchronized queue instead event/deque pair
2017-11-30 21:09:34 +01:00
Lonami Exo
7d7b2cb1fa
Remove redundant checks from UpdateState
2017-11-30 20:40:35 +01:00
Lonami Exo
9046b46fcd
Document the network/ module
2017-11-30 13:21:01 +01:00
Lonami Exo
605c103f29
Add unparse markdown method
2017-11-26 17:16:59 +01:00
Lonami Exo
57a70d0d47
Document the extensions/ module
2017-11-26 17:14:28 +01:00
Lonami Exo
71eb542626
Document the errors/ module
2017-11-26 17:06:09 +01:00
Lonami Exo
a932fb6470
Document the crypto/ module
2017-11-26 16:57:40 +01:00
Lonami Exo
74ec6391d9
Fix-up security assertion ( b42b4bb
for #453 )
2017-11-24 19:05:52 +01:00
Maxim Smirnov
b42b4bb326
Add OpenSSL assertion on authenticator.py ( #453 )
...
aes_ige.c(88): OpenSSL internal error, assertion failed
2017-11-24 18:47:36 +01:00
Dmitry D. Chernov
5a4d6d4a57
tlobject: Represent timestamp as 'int' instead of 'float'
2017-11-23 22:39:35 +10:00
Dmitry D. Chernov
f99d14558f
binary_reader: Parse TL 'date' to UTC datetime instead of local
2017-11-23 02:06:43 +10:00
Lonami Exo
152856dfbc
Add a force_fetch parameter to .get_entity
2017-11-20 10:58:11 +01:00
Lonami Exo
9767774147
Fix import in markdown parser not being relative
2017-11-17 15:57:48 +01:00
Lonami Exo
01f55200f2
Update to v0.15.5
2017-11-16 19:18:26 +01:00
Lonami Exo
346c5bb303
Add method to md parser to extract text surrounded by entities
2017-11-16 19:13:13 +01:00
Lonami Exo
e5deaf5db8
Fix c4e07cf
, md parsing adding unfinished entity at wrong offset
2017-11-16 19:07:53 +01:00
Lonami Exo
4ddbc78699
Ensure IPv6 addresses are surrounded by '[]' ( #425 )
2017-11-16 13:47:15 +01:00
Lonami Exo
edd73ed69a
Allow switching from IPv4 to IPv6 and vice versa
2017-11-16 13:40:25 +01:00
Vladislav Kolesnichenko
ee5915e86d
Add support for connecting through IPv6 ( #425 for #112 )
2017-11-16 13:30:18 +01:00
Lonami Exo
959e824c1c
Reduce indent level to simplify flow on __call__
2017-11-16 13:26:49 +01:00
Lonami Exo
778c844a64
Use logger.exception instead logger.error on ReadThread
2017-11-16 13:25:13 +01:00
Lonami Exo
b346561f89
Remove unnecessary call to .get_input_entity()
2017-11-16 13:24:32 +01:00
Lonami
48e96ca15f
Fix ._get_connected failing when .fileno() == 0 ( #427 )
2017-11-14 12:01:33 +01:00
Lonami Exo
bfc408b00a
Use NullHandler as default for the library
2017-11-13 10:59:43 +01:00
Lonami Exo
4ac88a1505
Use ._logger.exception when .connect fails ( #373 )
2017-11-13 10:58:10 +01:00
Lonami Exo
07cb001854
Attempt at cleaning up reconnection logic
2017-11-13 10:31:32 +01:00
Lonami Exo
f3e2887452
Add missing ChannelFull case to .get_peer_id()
2017-11-12 18:15:32 +01:00
Lonami Exo
08abef78d6
Add missing InputUserSelf case to .get_input_peer()
2017-11-12 18:05:01 +01:00
Andrey Egorov
84d48ef7bf
Safer check to determine whether sockets are connected ( #427 )
2017-11-12 16:51:32 +01:00
Lonami Exo
99512875a2
Reconnect if invoking failed ( #270 )
2017-11-12 16:25:56 +01:00
Lonami Exo
5a57a8a498
Fix message history failing if sender fwd from channel
...
Closes #424
2017-11-11 19:35:57 +01:00
Lonami Exo
81baced12b
Support t.me/ links when resolving usernames/joinchat links
...
Closes #419
2017-11-10 13:27:51 +01:00
Lonami Exo
c4e07cff57
Fix unfinished markdown delimiters being stripped away
2017-11-10 11:44:27 +01:00
Lonami Exo
cb3f20db65
Clean up markdown parsing since tuples aren't used anymore
2017-11-10 11:41:49 +01:00
Lonami Exo
7d75eebdab
Make markdown parser use only Telegram's MessageEntity's
2017-11-10 11:07:36 +01:00
Lonami Exo
cad1e883a6
Don't save full entities unless they have access_hash
2017-11-10 09:32:40 +01:00
Lonami Exo
f65322af18
Fix entity database not using the phone on {phone: id}
...
Closes #412
2017-11-07 10:15:55 +01:00
Lonami Exo
83af705cc8
Add more comments to the markdown parser
2017-11-06 11:32:40 +01:00
Lonami Exo
3a2c3a9497
Fix URL regex for markdown was greedy (fix-up)
2017-11-06 11:22:58 +01:00
Lonami Exo
07ece83aba
Fix overlapping markdown entities being skipped
2017-11-06 10:37:22 +01:00
Lonami Exo
4f80429215
Work on byte level when parsing markdown
...
Reasoning: instead encoding every character one by one as we
encounter them to use half their length as the correct offset,
we can simply encode the whole string at once as utf-16le and
work with that directly.
2017-11-06 10:29:32 +01:00
Viktor Oreshkin
49eb281251
Proper offset calculation for markdown ( #407 )
...
Dan suca
If Dan shared it with Traitor I'll not have to spend my time on this
Not a, sorry for not letting you sleep
k thx bye
Will this stay in history?
2017-11-06 00:17:22 +01:00
Lonami Exo
f381b26790
Add optional force_sms parameter to .send_code_request()
2017-11-04 20:46:02 +01:00
Lonami Exo
c8a0953f8e
Update to v0.15.4
2017-11-04 13:40:56 +01:00
Lonami Exo
1741608f28
Use larger batches for .get_dialogs(limit=None)
2017-11-04 12:35:12 +01:00
Dan
0bfd8ff032
Add much faster integer factorization ( #403 related to #199 )
2017-11-03 12:59:17 +01:00
Lonami Exo
9a12738f0e
Fix .get_message_history not working with limit=0
2017-10-31 13:52:43 +01:00
Lonami Exo
3d6c8915e3
Allow >100 limits when getting message history (implements #290 )
2017-10-31 12:52:07 +01:00
Lonami
6c2363acd2
Merge pull request #396 from LonamiWebs/md-parsing
...
Support markdown again (implements #118 )
2017-10-30 11:19:48 +01:00
Lonami Exo
7e204632e2
Add parse_mode parameter to TelegramClient.send_message()
2017-10-30 11:17:22 +01:00
Lonami Exo
82cac4836c
Fix markdown URL parsing using character index instead offset
2017-10-30 11:15:53 +01:00
Lonami Exo
0a14aa1bc6
Remove additional check when calculating emojies length
...
This special check treated some emojies as 3 characters long but
this shouldn't have actually been done, likely due to the old
regex matching more things as emoji than it should (which would
have count as 2 too, making up for 1+3 from the new is_emoji()).
2017-10-30 10:56:39 +01:00
Lonami Exo
05f7f076d5
Fix InputPeer* with None hash, drop them off database ( closes #354 )
2017-10-30 10:33:45 +01:00
Lonami Exo
05626c8274
Implement missing .to_dict() and .stringify() on message/container
2017-10-29 20:13:36 +01:00
Lonami Exo
6567f4b567
Clean .download_contact and a wrong indent level
2017-10-29 20:13:36 +01:00
Lonami Exo
2609bd9bd1
Use constants and allow empty URL regex when parsing markdown
2017-10-29 18:21:21 +01:00
Lonami Exo
d47a9f83d0
Fix some special cases which are not treated as emojis (offset 1)
2017-10-29 17:07:37 +01:00
Lonami Exo
bcaa8007a3
Fix inline URL matching swallowing all parse entities
2017-10-29 16:43:30 +01:00
Lonami Exo
f5fafc6a27
Enhance emoji detection
2017-10-29 16:41:30 +01:00
Lonami Exo
368269cb11
Add ability to parse inline URLs
2017-10-29 16:33:10 +01:00
Lonami Exo
9600a9ea0b
Fix markdown parsing failing if delimiter was last character
2017-10-28 19:17:18 +02:00
Lonami Exo
5adec2e1ab
Initial attempt at parsing Markdown-like syntax
2017-10-28 19:06:41 +02:00
Andrei Fokau
ef794bf75d
Fix importing dependencies during installing ( #384 )
2017-10-28 12:21:07 +02:00
Lonami Exo
e48f15be80
Fix-up af08d59
(missing parenthesis)
2017-10-28 11:11:51 +02:00
Tanuj
af08d59cb7
Fix bug with semicolons when downloading contacts ( #319 )
2017-10-28 11:09:46 +02:00
Lonami Exo
c6d30ffceb
Fix exception when logging exceptions
2017-10-25 13:06:51 +02:00
Lonami Exo
3db13ccdd2
Add a more descriptive error when serializing bytes
2017-10-25 12:43:57 +02:00
Lonami Exo
ceb37cd4c5
Move auth_key generation and InitConnection logic to .invoke()
...
The reasoning behind this is that .connect() should not call
any request at all, it should only connect to the servers
although it currently still calls GetStateRequest.
There were some issues (#291 , #360 ) where the auth_key was None
(possibly due to .connect() returning False), so this may
fix some of the cases where it returned False. This way we also
ensure that we always have an auth_key, or even if it "breaks"
(it's not the right key for the server anymore).
A few additional changes have been introduced to accommodate
this, such as moving InitConnection logic too or importing auths.
2017-10-24 15:40:51 +02:00
Lonami Exo
d58c729af0
Add missing InputPeerSelf case to .get_input_user
2017-10-24 09:43:59 +02:00
Lonami Exo
b04eed82eb
Add new .idle() method to listen for updates from MainThread
2017-10-22 13:16:34 +02:00
Andrey Egorov
8057cea294
Fix resending requests on bad salt/msg notification ( #369 )
...
These responses from the server could indicate container IDs,
which weren't being saved. This fix also accounts for that case.
2017-10-22 13:13:49 +02:00
Lonami Exo
5de8350d85
Reorder another import for #357
2017-10-22 11:23:15 +02:00
Lonami Exo
6759beac21
Add __str__ methods to TLMessage and MessageContainer
2017-10-21 20:23:53 +02:00
Lonami Exo
d7f917ebfc
Update docstrings
2017-10-21 16:59:20 +02:00
Lonami Exo
7596f2b797
Fix and enhance "no workers set" warning
2017-10-21 13:48:57 +02:00