Задать вопрос
@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)
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
1. Добавить новые команды.
2. Выводить по ним частичные данные.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы