code: def push_message(self, to, messages, timeout=None):
          
          if not isinstance(messages, (list, tuple)):
              messages = [messages]
  
          data = {
              'to': to,
              'messages': [message.as_json_dict() for message in messages]
          }
  
          self._post(
              '/v2/bot/message/push', data=json.dumps(data), timeout=timeout
          )
docs: Call push message API.
  
          https://devdocs.line.me/en/#push-message
  
          Send messages to users, groups, and rooms at any time.
  
          :param str to: ID of the receiver
          :param messages: Messages.
              Max: 5
          :type messages: T <= :py:class:`linebot.models.send_messages.SendMessage` |
              list[T <= :py:class:`linebot.models.send_messages.SendMessage`]
          :param timeout: (optional) How long to wait for the server
              to send data before giving up, as a float,
              or a (connect timeout, read timeout) float tuple.
              Default is self.http_client.timeout
          :type timeout: float | tuple(float, float)