@cadusilva com 417 e não vai funcionar a não ser que exista um "if report == 417:" no under_the_weather.py no lugar certo. Eu usei o numero 400 pq lá ja tem um if que testa para os numeros 400, 401, 404 e 429.
Se não funcionar com 400 pode ser pq o erro anterior é fatal. Nesse caso ao invés de adicionar abaixo da linha 44:
if not location:
return 400 # cidade inválida ou não encontrada
é preciso testar o valor antes, adicionando na linha anterior a 44:
if not city_name:
return 400 # cidade inválida ou não encontrada.
Se não funcionar depois eu tento rodar esse bot aqui pra ver.