mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-09 13:29:47 +00:00
Added an updates thread and construtor_id to TLObjects
A new thread is now created when MtProtoSender is created. This thread constantly listens for Telegram updates (such as incoming messages), so the updates can be received any time rather than only when sending another request.
This commit is contained in:
@@ -54,6 +54,7 @@ def generate_tlobjects(scheme_file):
|
||||
with open(filename, 'w', encoding='utf-8') as file:
|
||||
# Let's build the source code!
|
||||
with SourceBuilder(file) as builder:
|
||||
# Both types and functions inherit from MTProtoRequest so they all can be sent
|
||||
builder.writeln('from tl.mtproto_request import MTProtoRequest')
|
||||
builder.writeln()
|
||||
builder.writeln()
|
||||
@@ -105,6 +106,9 @@ def generate_tlobjects(scheme_file):
|
||||
builder.writeln('self.result = None')
|
||||
builder.writeln('self.confirmed = True # Confirmed by default')
|
||||
|
||||
# Create an attribute that stores the TLObject's constructor ID
|
||||
builder.writeln('self.constructor_id = {}'.format(hex(tlobject.id)))
|
||||
|
||||
# Set the arguments
|
||||
if args:
|
||||
# Leave an empty line if there are any args
|
||||
@@ -115,7 +119,7 @@ def generate_tlobjects(scheme_file):
|
||||
|
||||
# Write the on_send(self, writer) function
|
||||
builder.writeln('def on_send(self, writer):')
|
||||
builder.writeln("writer.write_int({}, signed=False) # {}'s constructor ID"
|
||||
builder.writeln('writer.write_int(self.constructor_id, signed=False)'
|
||||
.format(hex(tlobject.id), tlobject.name))
|
||||
|
||||
for arg in tlobject.args:
|
||||
|
Reference in New Issue
Block a user