Как сделать текст телеграмм бота более красивым?

from pyowm import OWM
from pyowm.utils import config
from pyowm.utils import timestamps
from translate import Translator

translator = Translator(from_lang='en', to_lang='ru')
import telebot

owm = OWM('<API>')
bot = telebot.TeleBot("<TOKEN>")

@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
    bot.reply_to(message, "Привет в каком городе хочешь узнать погоду?")

@bot.message_handler(content_types=['text'])
def send_echo(message):
    mgr = owm.weather_manager()
    observation = mgr.weather_at_place(message.text)
    w = observation.weather
    temp = w.temperature('celsius')['temp']
    sky = translator.translate(w.detailed_status)
    answer = None
    answer = 'В городе', message.text, 'сейчас', sky
    answer += 'Температура сейчас примерно:', str(temp), 'Цельсия'
    answer = str(answer)
    if temp < 10:
        answer += 'Сейчас очень холодно,одевайся по теплей'
    elif temp < 20:
        answer += "Сейчас холодно одеваяся теплей"
    else:
        answer += 'Температура нормальная одевай что угодно'
        
    bot.send_message(message.chat.id, answer)
    
bot.polling(none_stop=True)

Бот пишет:

('В городе', 'якутск', 'сейчас', 'ясно', 'Температура сейчас примерно:', '21.98', 'Цельсия') Температура нормальная одевай что угодно

Ответы (1 шт):

Автор решения: gil9red

У вас текст некрасивый, т.к. вы используете кортежи (коллекции) вместо текста

Вариант с форматированием:

answer = f'В городе {message.text} сейчас {sky}\n'
answer += f'Температура сейчас примерно: {temp} Цельсия\n'

Это вместо:

answer = None
answer = 'В городе', message.text, 'сейчас', sky
answer += 'Температура сейчас примерно:', str(temp), 'Цельсия'
answer = str(answer)
→ Ссылка