телеграмм бот, при запуске когда в тг пишешь город появляется ошибка TypeError: OWM.weather_manager() takes 1 positional argument but 2 were given
@bot.message_handler(content_types=['text'])
def send_echo(message):
observation = owm.weather_manager(message.text)
w = observation.weather
temp = w.temperature('celsius')['temp']
answer = 'В городе' + message.text + 'сейчас' + w.detailed_status + '\n'
answer += 'Температура на сегодняшний час:',str(temp),'℃ ', '\n\n'
if temp < -10:
answer +='Сейчас холодно, зима на дворе, а что ты хотел? ps. шапку накинь'
elif temp < -5:
answer +='на улице прохладно, без куртки не выходи'
elif temp < -15:
answer +='ЁмаЁ дубак на улице, теплее оденься'
else:
answer +='Темп норм, по крайней мере не зима)'
Ответы (2 шт):
Автор решения: Vladimir Ignatenko
→ Ссылка
Непонятно какую версию PyOWM вы используете. Но судя по документации к этой библиотеке, похоже что, вы используете ее неправильно.
Попробуйте заменить строку
observation = owm.weather_manager(message.text)
На следующие
mgr = owm.weather_manager()
observation = mgr.weather_at_place(message.text)
Может, что и получится
Автор решения: user574504
→ Ссылка
answer = 'В городе' + message.text + 'сейчас' + w.detailed_status + '\n'
answer += 'Температура на сегодняшний час:' + str(temp) + '℃ ' + '\n\n'