Добрый день! Не так давно начал изучат Python и при создании телеграмм бота столкнулся с ошибкой которую ни как не удается исправить.

Tony_Bread

Новичок
Пользователь
Апр 24, 2022
1
0
1
Не так давно начал изучать язык по видео урокам на ютубчике, очень понравилось и по старым гайдикам писал телеграмм бота с прогнозом погоды от OpewWeather. Эхо бот работает и прогноз погоды тоже, но к сожалению по отдельности. Долго правил код, но так и не смог приди к результату.

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': 'Москва'}}

С английским плохо знаком, пытался читать статьи но по сути плохо что понял, если вдруг есть какие инструкции на русском или что-то подобное, буду благодарен за любую информацию!
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
рекомендую писать на aiogram а не на telebot. Вот неплохой гайд для начала: https://mastergroosha.github.io/telegram-tutorial-2/quickstart/

У тебя есть строка
bot.send_message(message.chat.id, message)
вторым аргументом ты в функцию передаешь message, но это словарь с большим количеством информации, там на сколько я знаю должно быть отправляемое ботом сообщение ('привет мир!')
 

Форум IT Специалистов