Задать вопрос
@LT_BlackCrow

Ошибка погодного телеграм бота «Город не найден»?

import pyowm
import telebot

owm = pyowm.OWM(xxxxxxxxxxxxxxxxx, {'language': 'ru'})
bot = telebot.TeleBot('xxxxxxxxxxxxxxxxxxxxxx')


@bot.message_handler(content_types=['text'])
def send_echo(message):
    try:
        observation = owm.weather_at_place(message.text)
        w = observation.get_weather()
        temp = w.get_temperature('celsius')['temp']

        answer = f"В городе {message.text} сейчас {w.get_detailed_status()} \n"
        answer += f"Приблизительная температура {round(temp)} градусов\n\n"

        if temp < 0:
            answer += 'Сейчас температура ниже нуля, одевайся теплее!'
        elif temp < 20:
            answer += 'Сейчас прохладно, стоит потеплей одеться!'
        else:
            answer += 'Сейчас достаточно тепло, можно одеться легко!'

        bot.send_message(message.chat.id, answer)
    except:
        bot.send_message(message.chat.id,'Ошибка! Город не найден.')
bot.polling( none_stop = True)
input()


Проблема заключается в том что при написание города высвечивается надпись "Ошибка! Город не найден."
Переписывал код, не сработала, может кто знает в чем ошибка??
  • Вопрос задан
  • 342 просмотра
Подписаться 2 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@o5a
В новых версиях библиотеки owm нужно использовать manager для работы, и уже через него запрашивать данные
owm = pyowm.OWM(OWM_KEY, {'language': 'ru'})
mgr = owm.weather_manager()
observation = mgr.weather_at_place(location)
Ответ написан
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
Есть такое слово "отладка". Знаете?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽