def __call__(self, *args, **kwargs): super().__call__(*args, **kwargs) if not self._query: return self.send_telegram_message('Please pecify location') try: forecast = OWM(WEATHER_TOKEN).daily_forecast(self._query, limit=3) except owm_exceptions.OWMError: self.send_telegram_message('No such location ðŸ˜') else: weathers = forecast.get_forecast() for weather in weathers.get_weathers(): text = FORECAST_TEXT.format( fc_time=weather.get_reference_time('iso'), city=weathers.get_location().get_name(), status=weather.get_status(), temperature=weather.get_temperature('celsius'), wind=weather.get_wind(), ) self.send_telegram_message(text=text)