code: def do(self, command, files=None, use_long_polling=False, request_timeout=None, **query):
          
          import requests
  
          url, params = self._prepare_request(command, query)
          r = requests.post(url, params=params, files=files, stream=use_long_polling,
                            verify=True,  # No self signed certificates. Telegram should be trustworthy anyway...
                            timeout=request_timeout)
          return self._postprocess_request(r)
docs: Send a request to the api.
  
          If the bot is set to return the json objects, it will look like this:
  
          ```json
          {
              "ok": bool,
              "result": {...},
              # optionally present:
              "description": "human-readable description of the result",
              "error_code": int
          }
          ```
  
          :param command: The Url command parameter
          :type  command: str
  
          :param request_timeout: When the request should time out. Default: `None`
          :type  request_timeout: int
  
          :param files: if it needs to send files.
  
          :param use_long_polling: if it should use long polling. Default: `False`
                                  (see http://docs.python-requests.org/en/latest/api/#requests.Response.iter_content)
          :type  use_long_polling: bool
  
          :param query: all the other `**kwargs` will get json encoded.
  
          :return: The json response from the server, or, if `self.return_python_objects` is `True`, a parsed return type.
          :rtype:  DictObject.DictObject | pytgbot.api_types.receivable.Receivable