неведомая ошибка. должен быть метео-бот, но работает как эхо бот. windows 10, python 3.9.6, pyowm 3.2.0

sluntik

Новичок
Пользователь
Авг 17, 2021
3
0
1
import pyowm
from pyowm.utils.config import get_default_config
import telebot

def get_wind_direction(wind):
wind_dir = ''
if 270 <= wind <= 360 or 0 <= wind <= 90:
wind_dir += 'северо-'
else:
wind_dir += 'юго-'

if 0 <= wind <= 180:
wind_dir += 'восточный'
else:
wind_dir += 'западный'

return wind_dir

config_dict = get_default_config()
config_dict['language'] = 'ru' # Конфиг смены языка
owm = pyowm.OWM('my OWM API key', config_dict)

bot = telebot.TeleBot("bot_token", parse_mode=None)

@bot.message_handler(content_types=['text'])
def send_echo(message):
mgr = owm.weather_manager()
observation = mgr.weather_at_place(message.text)
w = observation.weather
temp = w.temperature('celsius')['temp']
status = w.detailed_status
wind = w.wind()

answer = 'В городе ' + message.text + ' сейчас ' + str(w) + "\n"
answer += 'Ветер сейчас ' + get_wind_direction(wind['deg']) + "\n"
answer += 'Скорость ветра: ' + str(wind['speed']) + ' метра в секунду' + "\n"
answer += 'Температура сейчас в районе ' + str(temp) + "\n"

bot.send_message(message.chat.id, message.text)

bot.polling( none_stop = True )
 

Вложения

  • Снимок.PNG
    Снимок.PNG
    151,6 КБ · Просмотры: 2
  • Снимок.PNG
    Снимок.PNG
    151,6 КБ · Просмотры: 2

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 590
460
83
вставляйте код как код подробнее тут как задать вопрос
проблема тут
Python:
...
answer = 'В городе ' + message.text + ' сейчас ' + str(w) + "\n"
answer += 'Ветер сейчас ' + get_wind_direction(wind['deg']) + "\n"
answer += 'Скорость ветра: ' + str(wind['speed']) + ' метра в секунду' + "\n"
answer += 'Температура сейчас в районе ' + str(temp) + "\n"

bot.send_message(message.chat.id, message.text)
...
вы отправляете сообщение которое получили
наверное нужно так?
Python:
...
answer = 'В городе ' + message.text + ' сейчас ' + str(w) + "\n"
answer += 'Ветер сейчас ' + get_wind_direction(wind['deg']) + "\n"
answer += 'Скорость ветра: ' + str(wind['speed']) + ' метра в секунду' + "\n"
answer += 'Температура сейчас в районе ' + str(temp) + "\n"

bot.send_message(message.chat.id, answer)
...
 

sluntik

Новичок
Пользователь
Авг 17, 2021
3
0
1
Спасибо вам большое, я и не заметил эту деталь...
 

Форум IT Специалистов