docs: def add_event_handler(self, callback, event=None):
          """
          Registers the given callback to be called on the specified event.
  
          Args:
              callback (`callable`):
                  The callable function accepting one parameter to be used.
  
                  Note that if you have used `telethon.events.register` in
                  the callback, ``event`` will be ignored, and instead the
                  events you previously registered will be used.
  
              event (`_EventBuilder` | `type`, optional):
                  The event builder class or instance to be used,
                  for instance ``events.NewMessage``.
  
                  If left unspecified, `telethon.events.raw.Raw` (the
                  :tl:`Update` objects with no further processing) will
                  be passed instead.
          """
          builders = events._get_handlers(callback)
          if builders is not None:
              for event in builders:
                  self._event_builders.append((event, callback))
              return
  
          if isinstance(event, type):
              event = event()
          elif not event:
              event = events.Raw()
  
          self._event_builders.append((event, callback))