input: Write a python function to get the current weather in any given city using AWS and return a speech response.
  assert handler({"city": "Riyadh"}, None)["response"]["outputSpeech"]["text"] == "The current weather in Riyadh is 25°C"
  assert handler({"city": "New York"}, None)["response"]["outputSpeech"]["text"] == "The current weather in New York is 15°C"
  assert handler({"city": "Tokyo"}, None)["response"]["outputSpeech"]["text"] == "The current weather in Tokyo is 20°C"
output: import boto3
  from botocore.exceptions import BotoCoreError, ClientError
  
  def handler(event, context):
      city = event.get("city")
      if not city:
          return {"response": {"outputSpeech": {"text": "City not provided"}}}
  
      try:
          client = boto3.client('lambda')
          response = client.invoke(
              FunctionName='GetWeatherFunction',
              InvocationType='RequestResponse',
              Payload=json.dumps({"city": city})
          )
          weather_info = json.loads(response['Payload'].read().decode('utf-8'))
  
          if "temperature" not in weather_info:
              raise ValueError("Invalid response from weather service")
  
          temperature = weather_info["temperature"]
          return {
              "response": {
                  "outputSpeech": {
                      "text": f"The current weather in {city} is {temperature}°C"
                  }
              }
          }
  
      except (BotoCoreError, ClientError, ValueError) as error:
          return {
              "response": {
                  "outputSpeech": {
                      "text": f"Unable to get the weather for {city} due to an error: {str(error)}"
                  }
              }
          }