@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)
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
MinTnt
@MinTnt
bot.message_handler(content_types=['text'])
это хендлер, т.е. при получении указанного типа контента, выполнит функцию ниже

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

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

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

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

Войти через центр авторизации
Похожие вопросы