code: async def send_code_request(self, phone, *, force_sms=False):
          
          phone = utils.parse_phone(phone) or self._phone
          phone_hash = self._phone_code_hash.get(phone)
  
          if not phone_hash:
              try:
                  result = await self(functions.auth.SendCodeRequest(
                      phone, self.api_id, self.api_hash, types.CodeSettings()))
              except errors.AuthRestartError:
                  return self.send_code_request(phone, force_sms=force_sms)
  
              self._tos = result.terms_of_service
              self._phone_code_hash[phone] = phone_hash = result.phone_code_hash
          else:
              force_sms = True
  
          self._phone = phone
  
          if force_sms:
              result = await self(
                  functions.auth.ResendCodeRequest(phone, phone_hash))
  
              self._phone_code_hash[phone] = result.phone_code_hash
  
          return result
docs: Sends a code request to the specified phone number.
  
          Args:
              phone (`str` | `int`):
                  The phone to which the code will be sent.
  
              force_sms (`bool`, optional):
                  Whether to force sending as SMS.
  
          Returns:
              An instance of :tl:`SentCode`.