D
D
DIMASSSSsik2021-07-15 17:01:01
Python
DIMASSSSsik, 2021-07-15 17:01:01

How to make the bot give an error when entering the wrong message?

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()

Answer the question

In order to leave comments, you need to log in

1 answer(s)
H
hey_umbrella, 2021-07-16
@hey_umbrella

If we are talking about temperature, then you can check that message.text is an int, i.e. an integer, you can do this with try except or add another elif. You just haven't specified much.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question