mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-02-03 21:24:35 +03:00
Fix built Conversation events don't have the client
This commit is contained in:
parent
ca40a9c282
commit
48113851a8
|
@ -276,11 +276,15 @@ class UpdateMethods(UserMethods):
|
||||||
built[ev_type] = ev_type.build(update)
|
built[ev_type] = ev_type.build(update)
|
||||||
|
|
||||||
for conv in self._conversations.values():
|
for conv in self._conversations.values():
|
||||||
|
# TODO Cleaner way to do this? Maybe just pass built always?
|
||||||
if built[events.NewMessage]:
|
if built[events.NewMessage]:
|
||||||
|
built[events.NewMessage]._set_client(self)
|
||||||
conv._on_new_message(built[events.NewMessage])
|
conv._on_new_message(built[events.NewMessage])
|
||||||
if built[events.MessageEdited]:
|
if built[events.MessageEdited]:
|
||||||
|
built[events.MessageEdited]._set_client(self)
|
||||||
conv._on_edit(built[events.MessageEdited])
|
conv._on_edit(built[events.MessageEdited])
|
||||||
if built[events.MessageRead]:
|
if built[events.MessageRead]:
|
||||||
|
built[events.MessageRead]._set_client(self)
|
||||||
conv._on_read(built[events.MessageRead])
|
conv._on_read(built[events.MessageRead])
|
||||||
|
|
||||||
if conv._custom:
|
if conv._custom:
|
||||||
|
|
|
@ -309,6 +309,9 @@ class Conversation(ChatGetter):
|
||||||
return result()
|
return result()
|
||||||
|
|
||||||
async def _check_custom(self, built, update):
|
async def _check_custom(self, built, update):
|
||||||
|
# TODO This code is quite much a copy paste of registering events
|
||||||
|
# in the client, resolving them and setting the client; perhaps
|
||||||
|
# there is a better way?
|
||||||
for i, (ev, fut, resolved) in self._custom.items():
|
for i, (ev, fut, resolved) in self._custom.items():
|
||||||
ev_type = type(ev)
|
ev_type = type(ev)
|
||||||
if ev_type not in built:
|
if ev_type not in built:
|
||||||
|
@ -320,6 +323,11 @@ class Conversation(ChatGetter):
|
||||||
self._custom[i] = (ev, fut, True)
|
self._custom[i] = (ev, fut, True)
|
||||||
|
|
||||||
if ev.filter(built[ev_type]):
|
if ev.filter(built[ev_type]):
|
||||||
|
if hasattr(built[ev_type], '_set_client'):
|
||||||
|
built[ev_type]._set_client(self._client)
|
||||||
|
else:
|
||||||
|
built[ev_type]._client = self._client
|
||||||
|
|
||||||
fut.set_result(built[ev_type])
|
fut.set_result(built[ev_type])
|
||||||
|
|
||||||
def _on_new_message(self, response):
|
def _on_new_message(self, response):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user