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

Как сделать так чтобы бот отвечал на сообщение не повтором а погодой?

from pyowm import OWM
import telebot
# Импортируем бота тг
# А вот и сам бот, с токеном, взятый у BotFather.
owm = OWM("TOKEN")
mgr = owm.weather_manager()
bot = telebot.TeleBot('TOKEN')
@bot.message_handler(content_types=['text'])
# хз для чего сделано вна2ре, но я так понял, что для ответа на любые сообщения
def send_echo(message):
	observation = mgr.weather_at_place(message.text)
	w = observation.weather
	temp= w.temperature('celsius')["temp"]

	answer = "В городе " + message.text + " сейчас " + w.detailed_status
	answer += "Температура сейчас в районе " + str(temp) + "\n\n"

	if temp < 0:
		answer += "Рекомендую одеться потеплее!"
		
	bot.send_message(message.chat.id, message.text)

bot.polling(none_stop=True)
  • Вопрос задан
  • 463 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
MinTnt
@MinTnt
bot.message_handler(content_types=['text'])
это хендлер, т.е. при получении указанного типа контента, выполнит функцию ниже

bot.send_message(message.chat.id, message.text)
Судя по этой строчке, message.text, значит что бот будет повторять вводимое пользователем сообщение.

Просто заменить message.text на answer.

P.s. кто там говорил "опять эти от хауди хо"?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы