@Sviche

Как исправить код телеграмм бота, чтобы вместо всей информации о погоде можно было выводить( с помощью команд) отдельные данные погоды?

import telebot
from pyowm.owm import OWM
from pyowm.utils.config import get_default_config

bot = telebot.TeleBot('1913045520:AAF9g5A3YzN_iJ5iMtsPuDOmZLOC_ostDCk')

@bot.message_handler(commands=['start'])
def hello(message):
bot.send_message(message.chat.id, 'Добро пожаловать, я бот знающий погоду во всем мире' + '\n' +
'Чтобы узнать погоду напишите в чат название любого города\n/help - все команды бота')
@bot.message_handler(commands=['help'])
def help(message):
bot.send_message(message.chat.id, '/start - запуск бота\n/help - команды бота\nНапишите в чат название города для получения информации о погоде')
@bot.message_handler(content_types=['text'])
def test(message):
try:
place = message.text
config_dict = get_default_config()
config_dict['language'] = 'ru'
owm = OWM('08773350d0b54db244c618030a729ab6', config_dict)
mgr = owm.weather_manager()
observation = mgr.weather_at_place(place)
w = observation.weather
t = w.temperature('celsius')
t1 = t['temp']
t2 = t['feels_like']
t3 = t['temp_max']
t4 = t['temp_min']

wi = w.wind()['speed']
humi = w.humidity
cl = w.clouds
dt = w.detailed_status
ti = w.reference_time('iso')
pr = w.pressure['press']
vd = w.visibility_distance
st = w.status

bot.send_message(message.chat.id, 'В городе ' + str(place) + ' температура ' + str(t1) + ' C' + '\n' +
'Максимальная температура ' + str(t3) + 'C' + '\n'+
'Минимальная температура ' + str(t4) + 'C' + '\n' +
'Ощущается как ' + str(t2) + 'C' + '\n' +
'Скорость ветра ' + str(wi) + 'м/с' + '\n' +
'Давление ' + str(pr) + 'мм.рт.ст' + '\n' +
'Влажность ' + str(humi) + '%' + '\n' +
'Видимость ' + str(vd) + 'метров' + '\n'
'Статус ' + str(st) + '\n' + str(dt) )

except:
bot.send_message(message.chat.id, ' Такой город не найден')
print(str(message.text), '- не найден')
bot.polling(none_stop=True, interval=0)
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
1. Добавить новые команды.
2. Выводить по ним частичные данные.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы