решил сделать тг бота которые показывает погоду, но когда бот отвечает то в конце пишет информацию об тексте.
import telebot
from pyowm import OWM
from pyowm.utils.config import get_default_config
import time
bot = telebot.TeleBot("TeleBot Key")
owm = OWM('API Key')
# когда вводит команду он пишит привет и имя
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, f"привет я ьот и показываю погоду /pog {message.from_user.first_name}")
@bot.message_handler(commands=['pog'])
def city(message):
city = bot.send_message(message.chat.id, f"здравствуйте {message.from_user.first_name}, в каком вы городе: ")
bot.register_next_step_handler(city, send_pog)
def send_pog(message):
mgr = owm.weather_manager()
config_dict = get_default_config()
config_dict['language'] = 'ru'
observation = mgr.weather_at_place(message.text)
w = observation.weather
named_tuple = time.localtime()
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
temp = w.temperature('celsius')["temp"]
wind = w.wind()['speed']
hum = w.humidity
status = w.detailed_status
sms = bot.send_message(message.chat.id,f"в городе {message.text} температура: {temp} \n\n влажность: {hum} \n\n скорость ветра: {wind} \n\n {status} \n\n\n время: {time_string}")
if temp < 10:
ss = "прохладно "
elif temp < 20:
ss = "у тепло но осторожно с ветром"
elif temp < 30:
ss = " тепло шорты подойдут "
elif temp < 40:
ss = "жарок ппц"
elif temp > 45:
ss = "ппц жарко пойду еду погрею"
elif temp < -10:
ss = "прохладно надень шапку"
elif temp < -20:
ss = "холодно "
elif temp < -30:
ss = "очень холодно осторожно"
elif temp < -40:
ss = "ппц холодно надень 2 ковты "
elif temp < 45:
ss = "ппц ..."
else:
ss = "чот со мной не так..."
bot.send_message(message.chat.id, f" {sms}, {ss}")
bot.polling(none_stop=True)