Есть ли функция для извлечения текста из сообщения и сохранения ее как переменной?
Всем привет, вопрос немного странный, но не могу извлечь из сообщения пользователя название города, для прогноза погоды - одной из функций бота. Прошу, подскажите как передать боту информацию из сообщения
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
chat_id = message.chat.id
ms_text = message.text
cur_user = Users.getUser(chat_id)
if cur_user == None:
cur_user = Users(chat_id, message.json["from"])
result = goto_menu(chat_id, ms_text) # попытаемся использовать текст как команду меню, и войти в него
if result == True:
return # мы вошли в подменю, и дальнейшая обработка не требуется
cur_menu = Menu.getCurMenu(chat_id)
if cur_menu != None and ms_text in cur_menu.buttons: # проверим, что команда относится к текущему меню
if ms_text == "Помощь":
send_help(chat_id)
elif ms_text == "Прогноз погоды":
try:
r = lambda message: requests.get(
f'https://api.openweathermap.org/data/2.5/weather?q={ms_text}&appid={OWM}&units=metric'
)
my_input(bot, chat_id, "Как тебя зовут?", r)
data = r.json()
#pprint(data)
city = data['name']
cur_weather = data['main']['temp']
humidity = data['main']['humidity']
pressure = data['main']['pressure']
wind = data['wind']['speed']
bot.send_message(chat_id, text=f'погода в городе: {city} \nТемпература: {cur_weather}С\n'
f'Влажность: {humidity}%\nДавление: {pressure} мм.рт.ст\nВетер: {wind}м/с\n')
except Exception as e:
bot.send_message(chat_id, text=e)
bot.send_message(chat_id, text=r)
