code: async def wait(self, need_pts=False) -> dict:
          
          if not self.base_url:
              await self._get_long_poll_server(need_pts)
  
          params = {
              'ts': self.ts,
              'key': self.key,
          }
          params.update(self.base_params)
          # invalid mimetype from server
          code, response = await self.api._session.driver.get_text(
              self.base_url, params,
              timeout=2 * self.base_params['wait']
          )
  
          if code == 403:
              raise VkLongPollError(403, 'smth weth wrong', self.base_url + '/', params)
  
          response = json.loads(response)
          failed = response.get('failed')
  
          if not failed:
              self.ts = response['ts']
              return response
  
          if failed == 1:
              self.ts = response['ts']
          elif failed == 4:
              raise VkLongPollError(
                  4,
                  'An invalid version number was passed in the version parameter',
                  self.base_url + '/',
                  params
              )
          else:
              self.base_url = None
  
          return await self.wait()
docs: Send long poll request
  
          :param need_pts: need return the pts field