from .common import EventBuilder, EventCommon, name_inner_event
from ..tl import types


@name_inner_event
class MessageDeleted(EventBuilder):
    """
    Event fired when one or more messages are deleted.
    """
    def build(self, update):
        if isinstance(update, types.UpdateDeleteMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=None
            )
        elif isinstance(update, types.UpdateDeleteChannelMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=types.PeerChannel(update.channel_id)
            )
        else:
            return

        event._entities = update._entities
        return self._filter_event(event)

    class Event(EventCommon):
        def __init__(self, deleted_ids, peer):
            super().__init__(
                chat_peer=peer, msg_id=(deleted_ids or [0])[0]
            )
            self.deleted_id = None if not deleted_ids else deleted_ids[0]
            self.deleted_ids = deleted_ids

from .common import EventBuilder, EventCommon, name_inner_event
from ..tl import types


@name_inner_event
class MessageDeleted(EventBuilder):
    """
    Event fired when one or more messages are deleted.
    """
    def build(self, update):
        if isinstance(update, types.UpdateDeleteMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=None
            )
        elif isinstance(update, types.UpdateDeleteChannelMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=types.PeerChannel(update.channel_id)
            )
        else:
            return

        event._entities = update._entities
        return self._filter_event(event)

    class Event(EventCommon):
        def __init__(self, deleted_ids, peer):
            super().__init__(
                chat_peer=peer, msg_id=(deleted_ids or [0])[0]
            )
            if peer is None:
                # If it's not a channel ID, then it was private/small group.
                # We can't know which one was exactly unless we logged all
                # messages, but we can indicate that it was maybe either of
                # both by setting them both to True.
                self.is_private = self.is_group = True

            self.deleted_id = None if not deleted_ids else deleted_ids[0]
            self.deleted_ids = deleted_ids

Set is private/group=True for messages deleted out of channels
Set is private/group=True for messages deleted out of channels

  from .common import EventBuilder, EventCommon, name_inner_event
  from ..tl import types
  
  
  @name_inner_event
  class MessageDeleted(EventBuilder):
      """
      Event fired when one or more messages are deleted.
      """
      def build(self, update):
          if isinstance(update, types.UpdateDeleteMessages):
              event = MessageDeleted.Event(
                  deleted_ids=update.messages,
                  peer=None
              )
          elif isinstance(update, types.UpdateDeleteChannelMessages):
              event = MessageDeleted.Event(
                  deleted_ids=update.messages,
                  peer=types.PeerChannel(update.channel_id)
              )
          else:
              return
  
          event._entities = update._entities
          return self._filter_event(event)
  
      class Event(EventCommon):
          def __init__(self, deleted_ids, peer):
              super().__init__(
                  chat_peer=peer, msg_id=(deleted_ids or [0])[0]
              )
+             if peer is None:
+                 # If it's not a channel ID, then it was private/small group.
+                 # We can't know which one was exactly unless we logged all
+                 # messages, but we can indicate that it was maybe either of
+                 # both by setting them both to True.
+                 self.is_private = self.is_group = True
+ 
              self.deleted_id = None if not deleted_ids else deleted_ids[0]
              self.deleted_ids = deleted_ids
  
Set is private/group=True for messages deleted out of channels
## Code Before:
from .common import EventBuilder, EventCommon, name_inner_event
from ..tl import types


@name_inner_event
class MessageDeleted(EventBuilder):
    """
    Event fired when one or more messages are deleted.
    """
    def build(self, update):
        if isinstance(update, types.UpdateDeleteMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=None
            )
        elif isinstance(update, types.UpdateDeleteChannelMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=types.PeerChannel(update.channel_id)
            )
        else:
            return

        event._entities = update._entities
        return self._filter_event(event)

    class Event(EventCommon):
        def __init__(self, deleted_ids, peer):
            super().__init__(
                chat_peer=peer, msg_id=(deleted_ids or [0])[0]
            )
            self.deleted_id = None if not deleted_ids else deleted_ids[0]
            self.deleted_ids = deleted_ids

## Instruction:
Set is private/group=True for messages deleted out of channels
## Code After:
from .common import EventBuilder, EventCommon, name_inner_event
from ..tl import types


@name_inner_event
class MessageDeleted(EventBuilder):
    """
    Event fired when one or more messages are deleted.
    """
    def build(self, update):
        if isinstance(update, types.UpdateDeleteMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=None
            )
        elif isinstance(update, types.UpdateDeleteChannelMessages):
            event = MessageDeleted.Event(
                deleted_ids=update.messages,
                peer=types.PeerChannel(update.channel_id)
            )
        else:
            return

        event._entities = update._entities
        return self._filter_event(event)

    class Event(EventCommon):
        def __init__(self, deleted_ids, peer):
            super().__init__(
                chat_peer=peer, msg_id=(deleted_ids or [0])[0]
            )
            if peer is None:
                # If it's not a channel ID, then it was private/small group.
                # We can't know which one was exactly unless we logged all
                # messages, but we can indicate that it was maybe either of
                # both by setting them both to True.
                self.is_private = self.is_group = True

            self.deleted_id = None if not deleted_ids else deleted_ids[0]
            self.deleted_ids = deleted_ids
