Бот погоды в телеграм. Вывод погоды через /weather

Пытаюсь настроить телеграм бота на пайтоне. Хочу сделать так, чтобы прогноз погоды выводился не при вводе названия города, а после команды /weather Например:

/weather

-Где хотим узнать погоду?

-Санкт-Петербург

-"ответ бота...."

Однако он либо не воспринимает тект, после вопроса, либо отвечает сразу после вопроса и выдаёт ошибку, которая должна писаться, если пользователь не правильно ввёл название города

Вот код бота:

import telebot
from telebot import types
from bs4 import BeautifulSoup
import requests
bot = telebot.TeleBot("***", parse_mode='html')
from pyowm.owm import OWM
from pyowm.utils.config import get_default_config
import datetime

        #language
config_dict = get_default_config()
config_dict['language'] = 'ru'
owm = OWM('***', config_dict)
        
        #bot-welcome
@bot.message_handler(commands=['start'])
def welcome(message):
    if message.text == '/start':
        sti = open('C:/Python/img/olaf-hey.webp', 'rb')
        bot.send_sticker(message.chat.id, sti)
        bot.send_message(message.chat.id,'Добро пожаловать, {0.first_name}! \nЯ - <b>{1.first_name}</b>, твой персональный ассистент.\n/help - список моих возможностей'.format(message.from_user, bot.get_me()))
     
        #bot-help
@bot.message_handler(commands=['help'])
def help(message):
    if message.text == '/help@PPTlo_bot' or '/help':
        sti = open('C:/Python/img/olaf-help.webp', 'rb')
        bot.send_sticker(message.chat.id, sti)
        bot.send_message(message.chat.id, 'Вот список моих возможностей:\n/weather\n/hi - приветствие\n/joke - поведать анекдот\n/ppt - узнать расписание занятий\n/music - самые популярные песни за последнюю неделю\n/mood - поднять себе настроение\n/bus - узнать расписание автобусов')
       
        #bot-joke
@bot.message_handler(commands=['joke'])
def joke(message):
    if message.text == '/joke@PPTlo_bot' or '/joke':
        sti = open('C:/Python/img/olaf-joke.webp', 'rb')
        bot.send_sticker(message.chat.id, sti)
        bot.send_message(message.chat.id, 'Колобок повесился')

       #bot-hello
@bot.message_handler(commands=['hi'])
def hi(message):
    if message.text == '/hi@PPTlo_bot' or '/hi':
        bot.send_message(message.chat.id, 'Приветствую, /help - для вывода моих возможностей') 


        #bot-weather
@bot.message_handler(commands=['weather'])
def weather(message):
    if message.text == '/weather@PPTlo_bot' or '/weather':
        bot.send_message(message.chat.id, 'В каком населённом пункте хотим узнать погоду?')
        bot.message_handler(content_types=['text'])
        try:
            mgr = owm.weather_manager()
            observation = mgr.weather_at_place(message.text)
            w = observation.weather
            temp = w.temperature('celsius')['temp']
            today = datetime.datetime.today()
        #answers-weather
            answer = 'Сегодня, ' + (today.strftime("%d/%m/%Y")) + ' ' + 'в городе ' + message.text + ' ' + w.detailed_status + '\n'
            answer += 'Температура в районе ' + str(temp) + ' по Цельсию.' + '\n\n'
            if temp < 5:
                answer += 'Сейчас на улице холодно, одевайся тепло!'
            elif temp < 17:
                answer += 'Сейчас на улице прохладно, одевайся потеплее!'
            else:
                answer += 'Погода просто каеф! Одевайся как душе угодно!'
                bot.send_message(message.chat.id, answer)
        except:
            bot.send_message(message.chat.id, 'Я ещё не знаю такого города :(\nДавай посмотрим погоду в другом месте?')

bot.polling( none_stop = True )

Ответы (0 шт):