Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2021, 11:52   #1
Aibek132
Новичок
Джуниор
 
Регистрация: 24.04.2021
Сообщений: 2
По умолчанию Попытка соединить два кода

Я хочу соединить два кода, добавив эту функцию к телеграм боту
Но выходит ошибка.




Вотан код пагоды:

Код:
from pyowm import OWM
from pyowm.utils import config as cfg
from colorama import init
from colorama import Fore, Back, Style
 
 # используйте Colorama, чтобы заставить Termcolor работать и на Windows
init()

print( Fore.BLACK)
print( Back.YELLOW)
config = cfg.get_default_config()
config['language'] = 'ru'
 
place = input("Какой город/страна?: ")
print( Back.CYAN)
 
owm = OWM('2302a1072316c2a336ceb0accc9265c9', config)
 
mgr = owm.weather_manager()
observation = mgr.weather_at_place(place)
w = observation.weather
 
# извлечение из словаря dict['key']
temp = w.temperature('celsius')['temp']
speed = w.wind()['speed']
 
# w.detailed_status - это строка, не метод
print( "В городе " + (place) + " сейчас " + w.detailed_status + "!")
print( "температура в районе " + str(temp))
print( "Скорость ветра " + str(speed))
print( "Влажность " + str(w.humidity))
 
# сначала нужна проверка < 20
if temp < 20:
    print( "Сейчас ппц как холодно! оденься очень тепло" )
elif temp < 10:
    print( "Сейчас холодно, желательно одеться по теплее" )  
else:
    print( "Температура нормальная, одевай что хочешь " )


Вотан телеграм бот:
(эхо)

Код:
import telebot

bot = telebot.TeleBot("1732855264:AAGYkxxK_sPhcBi_5jzYYi72DTOWfqx6jFY")

@bot.message_handler( content_types=['text'] )
def send_echo( message ):
    bot.send_message(message.chat.id, message.text)

bot.polling( none_stop = True )


И вот как я попытался сделать:

Код:
from pyowm import OWM
from pyowm.utils import config as cfg
import telebot

owm = OWM('2302a1072316c2a336ceb0accc9265c9', config)
bot = telebot.TeleBot("1732855264:AAGYkxxK_sPhcBi_5jzYYi72DTOWfqx6jFY")

@bot.message_handler( content_types=['text'] )
def send_echo( message ):
    mgr = owm.weather_manager()
    observation = mgr.weather_at_place( message.text )
    w = observation.weather
    
    # извлечение из словаря dict['key']
    temp = w.temperature('celsius')['temp']
    speed = w.wind()['speed']

    # w.detailed_status - это строка, не метод
    answer = "В городе " + message.text + " сейчас " + w.detailed_status + "!" + "\n"
    answer += "температура в районе " + str(temp) + "\n\n"

    # сначала нужна проверка < 20
    if temp < 20:
        answer += "Сейчас ппц как холодно! оденься очень тепло" 
    elif temp < 10:
        answer += "Сейчас холодно, желательно одеться по теплее"
    else:
        answer += "Температура нормальная, одевай что хочешь" 
   
     bot.send_message(message.chat.id, message.text)

bot.polling( none_stop = True )
Aibek132 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как соединить два кода генератор перестановок и хеш 224 destrlolz1 Общие вопросы C/C++ 0 13.01.2017 16:24
Как соединить два кода на таймер verdant HTML и CSS 5 11.07.2015 02:19
Нужно соединить два кода в один cho_nado Помощь студентам 1 12.02.2013 19:34
Соединить два списка в третий Иванов_ДМ Microsoft Office Excel 11 20.08.2009 08:21
соединить два 3d объекта NewXakep Помощь студентам 1 11.07.2009 11:34