From dc7527c7628f38ef39d15465d218257a46c5ef07 Mon Sep 17 00:00:00 2001 From: nailer Date: Thu, 27 Sep 2018 23:02:24 +0300 Subject: [PATCH] optimize imports remove extra idents add check for dialog being a channel using input_entity of dialogs --- telethon/tl/custom/dialog.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/telethon/tl/custom/dialog.py b/telethon/tl/custom/dialog.py index 79510783..39e01668 100644 --- a/telethon/tl/custom/dialog.py +++ b/telethon/tl/custom/dialog.py @@ -1,9 +1,6 @@ from . import Draft -from .. import TLObject, types -from ..functions.channels import LeaveChannelRequest -from ..functions.messages import DeleteHistoryRequest +from .. import TLObject, types, functions from ... import utils -from ...errors import PeerIdInvalidError class Dialog: @@ -66,7 +63,6 @@ class Dialog: is_channel (`bool`): ``True`` if the `entity` is a :tl:`Channel`. """ - def __init__(self, client, dialog, entities, messages): # Both entities and messages being dicts {ID: item} self._client = client @@ -87,8 +83,8 @@ class Dialog: self.is_user = isinstance(self.entity, types.User) self.is_group = ( - isinstance(self.entity, types.Chat) or - (isinstance(self.entity, types.Channel) and self.entity.megagroup) + isinstance(self.entity, types.Chat) or + (isinstance(self.entity, types.Channel) and self.entity.megagroup) ) self.is_channel = isinstance(self.entity, types.Channel) @@ -101,11 +97,10 @@ class Dialog: self.input_entity, *args, **kwargs) async def delete(self): - try: - await self._client(DeleteHistoryRequest(self, 0)) - - except PeerIdInvalidError: - await self._client(LeaveChannelRequest(self)) + if self.is_channel: + await self._client(functions.channels.LeaveChannelRequest(self.input_entity)) + else: + await self._client(functions.messages.DeleteHistoryRequest(self.input_entity, 0)) def to_dict(self): return {