code: def do(self, command, files=None, use_long_polling=False, request_timeout=None, **query):
          
          params = self._prepare_request(command, query)
          r = self._do_request(
              params.url, params=params.params,
              files=files, stream=use_long_polling,  timeout=request_timeout
          )
          return self._process_response(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
  
          :keyword request_timeout: When the request should time out.
          :type    request_timeout: int
  
          :keyword files: if it needs to send files.
  
          :keyword use_long_polling: if it should use long polling.
                                  (see http://docs.python-requests.org/en/latest/api/#requests.Response.iter_content)
          :type    use_long_polling: bool
  
          :param query: 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