@DIMASSSSsik

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

import pyowm
import telebot

owm = pyowm.OWM('86cc05395a2439bf68068e03e57a15a2', language = 'ru')
bot = telebot.TeleBot("1804504691:AAFr5ZKHv0uvEaSM2wUKCGqizdH85IWWXb4")
@bot.message_handler(commands=['start'])
def send_welcome(message):
  bot.reply_to(message, "Привет я бот который узнает погоду на сегодня!\nПросто напиши мне название города\nНо ознокомся с правилами /help!")
@bot.message_handler(commands=['help'])
def send_welcome(message):
  bot.reply_to(message, "Давай для начала я тебе расскажу несколько правил!\nНазвание города писать только на языке на котором люди говорят там!")

@bot.message_handler(content_types=['text'])
def send_echo(message):
  observation = owm.weather_at_place( message.text )
  w = observation.get_weather()
  temp = w.get_temperature('celsius')["temp"]
  wind = w.get_wind()["speed"]
  hum = w.get_humidity()
  time = w.get_reference_time(timeformat='iso')



  answer = "В городе " + message.text + " сейчас: " + w.get_detailed_status() + "\n---------------------"
  answer += "\nТемпература: " + str(temp) + "°C" + "\n---------------------" + "\nСкорость ветра: " + str(wind) + "м/с." + "\n---------------------" + "\nВлажность: " + str(hum) + "%" + "\n---------------------" + "\nВремя: " + str(time) + "\n---------------------" 
  if temp < 20:
    answer += "\nСейчас пипец как холодно одевайся как танк!"
  elif temp < 20:
    answer += "\nСейчас довольно холодно, одевайся потеплее!⛈"
  else:
    answer += "\nТемпература нормальная!"

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

bot.polling( none_stop = True )
input()
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 1
@hey_umbrella
Если речь идет про температуру,то можно проверять,что message.text это int, т.е целое число,можно это сделать с помощью try except или добавить еще один elif. Просто вы не уточнили многое)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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