Commit Graph

732 Commits

Author SHA1 Message Date
Lonami Exo
62c057a058 Add edit_message convenience method and refactor to accomodate it 2018-02-15 11:19:34 +01:00
Lonami Exo
80f918956a Revert "official apps must be obfuscated" (29471f3)
It didn't really make any sense and @danog keeps changing it.
2018-02-15 10:02:12 +01:00
Dmitry D. Chernov
55bcc29ae0 Errors: Fix passing 'self' to the constructors of the superclasses
This is necessary only if the superclass name is specified explicitly instead of super() call.
2018-02-14 17:09:22 +10:00
Lonami Exo
08b9d7c4ef Add more logic to better retrieve input_sender on events 2018-02-13 10:24:35 +01:00
Lonami Exo
c83638ed0e Add further logging calls to better spot lost requests 2018-02-12 13:40:00 +01:00
Lonami Exo
9abeefac7f Send video files as video by default instead as document (#601) 2018-02-12 10:33:51 +01:00
Lonami Exo
0633e204c2 Fix whitelisting multiple chats on events not working 2018-02-11 10:30:45 +01:00
Lonami Exo
eca1e8ec87 Default to markdown parse mode on send_message
This is consistent with official clients and also provide
the expected result when replying to NewMessage events.
2018-02-10 10:45:55 +01:00
Lonami Exo
7d8d86c5f1 Support inline mentions (bot API style or username/phone) 2018-02-10 10:30:31 +01:00
Lonami Exo
6240677831 Fix sign up method not accepting integer codes 2018-02-09 19:39:20 +01:00
Lonami Exo
6261affaa1 Update to v0.17.1 2018-02-09 17:16:28 +01:00
Lonami Exo
14389a0ef2 Better document the events module 2018-02-09 15:56:42 +01:00
Lonami Exo
5167754368 Fix input_sender events' property not using cached value 2018-02-09 13:10:02 +01:00
Lonami Exo
f5eda72329 Add a new Raw Event 2018-02-09 13:08:09 +01:00
Lonami Exo
8786a52257 Add a new MessageChanged Event 2018-02-09 13:05:34 +01:00
Lonami Exo
ffe826b35f Add a new UserUpdate Event 2018-02-09 12:45:40 +01:00
Lonami Exo
379c775558 Add a new ChatAction Event 2018-02-09 11:37:17 +01:00
Lonami Exo
510bbf0fc8 Create a more reusable Event base class 2018-02-09 11:36:41 +01:00
Lonami Exo
91ba50174a Provide easier access to media through NewMessage event 2018-02-08 19:43:15 +01:00
Lonami Exo
c79fbe451f Fix NewMessage event not dropping MessageService 2018-02-07 14:06:36 +01:00
Lonami Exo
2e0a8d6bce Add respond and reply methods to the NewMessage event 2018-02-07 13:55:41 +01:00
Lonami Exo
dc43757cff Don't access NewMessage properties when building the event 2018-02-07 13:55:25 +01:00
Lonami Exo
9c09233b4f Make NewMessage's input chat/sender actual Input* if possible 2018-02-07 13:45:17 +01:00
Lonami Exo
ef837b1a53 Add a NewMessage event to handle incoming messages 2018-02-07 10:42:40 +01:00
Lonami Exo
5ec984dd82 Allow adding events with the client.on decorator 2018-02-07 10:41:58 +01:00
Lonami Exo
06bc761a5b Update to v0.17 2018-02-03 16:03:17 +01:00
Lonami Exo
fd08d53253 Trust the server will not send duplicates
This change was also suggested by the test on the previous commit.
2018-02-03 15:42:43 +01:00
Lonami Exo
341fb38136 Invoke getState after the server kicks us idling for updates
For some reason, the server seems to kick us after 1024 items from
the network are received. Tested with the following code, 1022
updates were received, after BadServerSalt, NewSessionCreated and
MsgsAck:

    client = TelegramClient(..., spawn_read_thread=False)
    client.connect(_sync_updates=False)
    sender = client._sender
    client = None
    while True:
        try:
            sender.receive(None)
        except TimeoutError:
            pass
        except ConnectionResetError:
            sender.connect()

If one were to run this code after being kicked no further items
will be retrieved and it will always timeout. Invoking a ping has
no effect either. Invoking some "high level" request like getState
seems to do the trick.
2018-02-03 15:39:37 +01:00
Lonami Exo
eefd37c2d7 Stop calling .disconnect() from .__del__()
It was causing some strange behaviour with the synchronized Queue
used by the UpdateState class. Calling .get() with any timeout
would block forever. Perhaps something else got released when
the script ended and then any call would block forever, thus the
thread never joining.
2018-02-03 12:15:38 +01:00
Lonami Exo
2ffe2b71dc Except OSError with errno.WSAEACCES when connecting
"OSError: [WinError 10013] An attempt was made to access a
socket in a way forbidden by its access permissions."
2018-02-03 11:44:05 +01:00
Lonami Exo
cf21808118 Raise error on .get_entity() on non-joined invite link 2018-02-02 17:24:12 +01:00
Lonami Exo
fbd53e2126 Override TLObject's __eq__ and __ne__ methods 2018-02-01 12:10:03 +01:00
Lonami Exo
add122bfe7 Support signing up through .start() 2018-02-01 10:12:57 +01:00
Lonami Exo
d5a91c7273 Don't set session to None on .log_out() 2018-02-01 09:39:41 +01:00
Birger Jarl
c8bbbe3e3c Save session data when migrating from JSON (#570) 2018-01-31 21:01:53 +01:00
Lonami Exo
bf56d32118 Add missing FutureSalts response special case (#81) 2018-01-30 18:32:42 +01:00
Lonami Exo
700b4c3169 Fix-up #565 with some rewording/behaviour changes
Such as not waiting unless strictly needed and better wording.
2018-01-27 21:37:57 +01:00
Matteo
067006d248 Add batch_size and wait_time to get_message_history (#565) 2018-01-27 21:29:38 +01:00
frizzlywitch
3b8365f871 Remove square braces from IPv6 addresses (#561) 2018-01-26 14:38:13 +01:00
Lonami Exo
43a3f40527 Properly close the sqlite3 connection (#560) 2018-01-26 09:59:49 +01:00
Lonami Exo
5c2dfc17a8 Make timeout logging message debug to scare people less 2018-01-25 18:44:21 +01:00
Lonami Exo
4a83784fe8 Simplify TLObject.pretty_format since Telegram returns no dicts 2018-01-25 09:51:12 +01:00
Lonami Exo
2873dcf1c6 Add '_' key to TLObject's .to_dict() and remove recursive param
Closes #559
2018-01-25 09:44:07 +01:00
Lonami Exo
db698858e0 Except TypeNotFoundError on ._invoke() 2018-01-23 22:26:19 +01:00
Lonami Exo
6c73538bd4 Fix time_offset not being used at all after BadMsgNotification
Telegram would refuse to reply any further unless the message ID
had the correct time (causing some behaviour like .connect()
never connecting, due to the first request being sent always
failing). The fix was to use time_offset when calculating the
message ID, while this was right, it wasn't in use.
2018-01-23 11:39:43 +01:00
Lonami Exo
32b92b32a7 Update .send_file() documentation (for f0eb41b) 2018-01-23 12:13:03 +01:00
Lonami Exo
58d90e7e34 Fix .download_media() not accepting Document 2018-01-23 12:10:23 +01:00
Lonami Exo
81c95b5a60 Fix recursive .get_input_media() forgetting parameters 2018-01-23 12:04:35 +01:00
Lonami Exo
f0eb41b902 Accept message/media on .send_file, remove redundancy off README 2018-01-23 11:59:35 +01:00
Tulir Asokan
5f2f04c6c2 Add HTML parse mode (#554) 2018-01-22 10:06:11 +01:00