Всем привет.
Начал изучение Python с написания простенького бота для ТГ с погодой и столкнулся с проблемой.
Бот запускается в консоле, ошибок не выдает, но ни как не реагирует на сообщения в чате.
При этом когда делал бота эхо, повторяющего сообщения, все работало корректно, так же и с погодой, работало корректно в консоле, но стоило их объединить и что то сломалось.
Где я ошибся?
Юзал pip pyTelegramBotAPI и pip pyowm
# telegramBot
import telebot
from pyowm import OWM
from pyowm.utils import config
from pyowm.utils import timestamps
from pyowm.utils.config import get_default_config
config_dict = get_default_config()
config_dict['language'] = 'ru'
owm = OWM('your free OWM API key', config_dict)
mgr = owm.weather_manager()
bot = telebot.TeleBot("TOKEN" )
@bot.message_handler(content_types=['text'])
def send_echo(message):
observation = mgr.weather_at_place(message.text)
w = observation.weather
temp = w.temperature('celsius')["temp"]
tempMin = w.temperature('celsius')["temp_min"]
tempMax = w.temperature('celsius')["temp_max"]
WindSpeed = w.wind()["speed"]
answer = "В городе " + message.text + " сейчас " + w.detailed_status
answer += "\nТемпература на улице, примерно " + str(temp) + " градусов."
answer += "\nМаксимальная температура " + str(tempMax) + " градусов."
answer += "\nМинимальная температура " + str(tempMin) + " градусов."
answer += "\nСкорость ветра " + str(WindSpeed) + " метров в секунду.\n\n"
if temp < 5:
answer += "Сейчас довольно холодно, не забудь одеть шапку!"
elif temp < 20:
answer += "На улице прохладно, одевайся теплее."
else:
answer += "Температура комфортная для прогулки!"
bot.send_message(message.chat.id, answer)
bot.polling(none_stop = True)