def input_sender(self):
        """
        This :tl:`InputPeer` is the input version of the user/channel who
        sent the message. Similarly to `input_chat`, this doesn't have
        things like username or similar, but still useful in some cases.

        Note that this might not be available if the library can't
        find the input chat, or if the message a broadcast on a channel.
        """
        if self._input_sender is None and self._sender_id:
            try:
                self._input_sender = self._client.session\
                    .get_input_entity(self._sender_id)
            except ValueError:
                pass
        return self._input_sender
def input_sender ( self ) : if self . _input_sender is None and self . _sender_id : try : self . _input_sender = self . _client . session . get_input_entity ( self . _sender_id ) except ValueError : pass return self . _input_sender
This :tl:`InputPeer` is the input version of the user/channel who
        sent the message. Similarly to `input_chat`, this doesn't have
        things like username or similar, but still useful in some cases.

        Note that this might not be available if the library can't
        find the input chat, or if the message a broadcast on a channel.