Задать вопрос
@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()


Проблема заключается в том что при написание города высвечивается надпись "Ошибка! Город не найден."
Переписывал код, не сработала, может кто знает в чем ошибка??
  • Вопрос задан
  • 353 просмотра
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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, сис. админ
Есть такое слово "отладка". Знаете?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽