Не так давно начал изучать язык по видео урокам на ютубчике, очень понравилось и по старым гайдикам писал телеграмм бота с прогнозом погоды от OpewWeather. Эхо бот работает и прогноз погоды тоже, но к сожалению по отдельности. Долго правил код, но так и не смог приди к результату.
В строке код работает, но в телеграмме при запросе выдает вот такое вот:
{'content_type': 'text', 'id': 75, 'message_id': 75, 'from_user': {'id': 5150640011, 'is_bot': False, 'first_name': 'Tony', 'username': None, 'last_name': None, 'language_code': 'ru', 'can_join_groups': None, 'can_read_all_group_messages': None, 'supports_inline_queries': None}, 'date': 1650816128, 'chat': {'id': 5150640011, 'type': 'private', 'title': None, 'username': None, 'first_name': 'Tony', 'last_name': None, 'photo': None, 'bio': None, 'has_private_forwards': None, 'description': None, 'invite_link': None, 'pinned_message': None, 'permissions': None, 'slow_mode_delay': None, 'message_auto_delete_time': None, 'has_protected_content': None, 'sticker_set_name': None, 'can_set_sticker_set': None, 'linked_chat_id': None, 'location': None}, 'sender_chat': None, 'forward_from': None, 'forward_from_chat': None, 'forward_from_message_id': None, 'forward_signature': None, 'forward_sender_name': None, 'forward_date': None, 'is_automatic_forward': None, 'reply_to_message': None, 'via_bot': None, 'edit_date': None, 'has_protected_content': None, 'media_group_id': None, 'author_signature': None, 'text': 'Москва', 'entities': None, 'caption_entities': None, 'audio': None, 'document': None, 'photo': None, 'sticker': None, 'video': None, 'video_note': None, 'voice': None, 'caption': None, 'contact': None, 'location': None, 'venue': None, 'animation': None, 'dice': None, 'new_chat_member': None, 'new_chat_members': None, 'left_chat_member': None, 'new_chat_title': None, 'new_chat_photo': None, 'delete_chat_photo': None, 'group_chat_created': None, 'supergroup_chat_created': None, 'channel_chat_created': None, 'migrate_to_chat_id': None, 'migrate_from_chat_id': None, 'pinned_message': None, 'invoice': None, 'successful_payment': None, 'connected_website': None, 'reply_markup': None, 'json': {'message_id': 75, 'from': {'id': 5150640011, 'is_bot': False, 'first_name': 'Tony', 'language_code': 'ru'}, 'chat': {'id': 5150640011, 'first_name': 'Tony', 'type': 'private'}, 'date': 1650816128, 'text': 'Москва'}}
С английским плохо знаком, пытался читать статьи но по сути плохо что понял, если вдруг есть какие инструкции на русском или что-то подобное, буду благодарен за любую информацию!
Python:
import telebot
from telebot import types
from pyowm.owm import OWM
from pyowm.utils.config import get_default_config
config_dict = get_default_config()
config_dict['language'] = 'ru'
owm = OWM('MY_TOKEN', config_dict)
bot = telebot.TeleBot("MY_TOKEN")
@bot.message_handler(commands=['text'])
def send_welcome(message):
bot.reply_to(message, message.text)
mgr = owm.weather_manager()
status = weather.detailed_status
observation = mgr.weather_at_place(message.text)
observation.weather.detailed_status
weather = mgr.weather_at_place(message.text).weather
temp = weather.temperature('celsius')['temp']
answer = f"В городе {message.text} сейчас {status}\n"
answer += f"Температура воздуха равна {temp}\n\n"
if temp < 5:
answer += "На улице холодно, рекомендуется одеть курту, шапку и теплый свитер."
elif temp < 10:
answer += "На улице прохладно, рекомендуется одеть сезонную куртку и свитер."
elif temp > 15:
answer += "На улице благоприятная погода, но не рекомендуется выходить без кофты."
elif temp > 20:
answer += "На улице жарко, не забудьте одеть головной убор."
@bot.message_handler(func=lambda message: True)
def echo_all(message):
bot.send_message(message.chat.id, message)
bot.infinity_polling()
В строке код работает, но в телеграмме при запросе выдает вот такое вот:
{'content_type': 'text', 'id': 75, 'message_id': 75, 'from_user': {'id': 5150640011, 'is_bot': False, 'first_name': 'Tony', 'username': None, 'last_name': None, 'language_code': 'ru', 'can_join_groups': None, 'can_read_all_group_messages': None, 'supports_inline_queries': None}, 'date': 1650816128, 'chat': {'id': 5150640011, 'type': 'private', 'title': None, 'username': None, 'first_name': 'Tony', 'last_name': None, 'photo': None, 'bio': None, 'has_private_forwards': None, 'description': None, 'invite_link': None, 'pinned_message': None, 'permissions': None, 'slow_mode_delay': None, 'message_auto_delete_time': None, 'has_protected_content': None, 'sticker_set_name': None, 'can_set_sticker_set': None, 'linked_chat_id': None, 'location': None}, 'sender_chat': None, 'forward_from': None, 'forward_from_chat': None, 'forward_from_message_id': None, 'forward_signature': None, 'forward_sender_name': None, 'forward_date': None, 'is_automatic_forward': None, 'reply_to_message': None, 'via_bot': None, 'edit_date': None, 'has_protected_content': None, 'media_group_id': None, 'author_signature': None, 'text': 'Москва', 'entities': None, 'caption_entities': None, 'audio': None, 'document': None, 'photo': None, 'sticker': None, 'video': None, 'video_note': None, 'voice': None, 'caption': None, 'contact': None, 'location': None, 'venue': None, 'animation': None, 'dice': None, 'new_chat_member': None, 'new_chat_members': None, 'left_chat_member': None, 'new_chat_title': None, 'new_chat_photo': None, 'delete_chat_photo': None, 'group_chat_created': None, 'supergroup_chat_created': None, 'channel_chat_created': None, 'migrate_to_chat_id': None, 'migrate_from_chat_id': None, 'pinned_message': None, 'invoice': None, 'successful_payment': None, 'connected_website': None, 'reply_markup': None, 'json': {'message_id': 75, 'from': {'id': 5150640011, 'is_bot': False, 'first_name': 'Tony', 'language_code': 'ru'}, 'chat': {'id': 5150640011, 'first_name': 'Tony', 'type': 'private'}, 'date': 1650816128, 'text': 'Москва'}}
С английским плохо знаком, пытался читать статьи но по сути плохо что понял, если вдруг есть какие инструкции на русском или что-то подобное, буду благодарен за любую информацию!