Некорректный перенос строк сообщения, в чём дело?

Добрый день, не могу понять в чём проблема.
При отправке сообщения ботом, с нужной мне структурой, она почему-то отображается криво.

Вот так выглядит готовый текст, но проблема в том, что мне надо сделать или постоянные отступы или же вообще без них (в разных местах бывает, в данном случае "Дополнительная информация" и "Местонахождение бункера"). Использую '\nТекст: ' + (переменная)
Новая игра создана!

•Катастрофа: колонизация других планет. в следствии человеческой деятельности - земле настал конец. её магнитное поле уже не держит земную кору и она улетает в космос. у вас есть возможность сбежать на другие, колонизированые планеты. вы решаете, кто попадёт на спасательный корабль "убежище".

•Остаток выживших: 44%

•Разрушеня на поверхности: 73%

•Бункер: убежище в хорошем состоянии. существам и другим выжившим, которые настроены враждебно, попасть туда вряд ли получится, потому что убежище достаточно спрятано и защищено. все системы жизнеобеспечения в норме, работают в автономном режиме и вряд ли могу дать сбой.

•Время нахождения в убежище: 4 месяца

•Дополнительная информация: еда, питьё и инсулин есть, но придётся экономить, чтобы их количеств хватило на весь период пребывания
•Местонахождение бункера: убежище находиться в прекрасном состоянии, надежно спрятано и хорошо защищено от недодоброжелателей защитно-герметичными дверями. всё системы жизнеобеспечения в норме и работают в автономном режиме. в таком убежище можно жить и не бояться за себя.

•В убежище оборудовано: склад с защитной экипировкой

•В убежище оборудовано: -

•В убежище оборудовано: кухня-столовая

•В убежище есть: ничего

•В убежище есть: книга про зомби

•В убежище есть: -

•В убежище живут: кожееды


spoiler
@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, 'Удачной игры!', reply_markup=keyboard1)

@bot.message_handler(content_types=['text'])
def send_text(message):
    
    if message.text.lower() == 'создать игру':
        #Создание катастрофы и бункера

        #Создание катаклизма
        cataclysm = '\n\r*•Катастрофа:* %s' % str.lower(random.choice(list(open('cataclysm.txt', 'r', encoding='utf-8'))))
        #Кол-во выживших
        people = '\n\r*•Остаток выживших:* %s' % str.lower(random.choice(list(open('burn.txt', 'r', encoding='utf-8'))))
        #Разрушения на поверхности
        burn = '\n\r*•Разрушеня на поверхности:* %s' % str.lower(random.choice(list(open('burn.txt', 'r', encoding='utf-8'))))
        #Создание бункера
        bunker = '\n\r*•Бункер:* %s' % str.lower(random.choice(list(open('bunker.txt', 'r', encoding='utf-8'))))
        #Время нахождения в бункере
        time1 = '\n\r*•Время нахождения в убежище:* %s' % str.lower(random.choice(list(open('time2.txt', 'r', encoding='utf-8'))))
        time2 = '\n\r*•Дополнительная информация:* %s' % str.lower(random.choice(list(open('time1.txt', 'r', encoding='utf-8'))))
        #Местонахождение бункера
        place = '\n\r*•Местонахождение бункера:* ' + str.lower(random.choice(list(open('place.txt', 'r', encoding='utf-8'))))
        #Оборудование бункера
        one1 = '\n\r*•В убежище оборудовано:* %s' % str.lower(random.choice(list(open('station.txt', 'r', encoding='utf-8'))))
        two1 = '\n\r*•В убежище оборудовано:* %s' % str.lower(random.choice(list(open('station.txt', 'r', encoding='utf-8'))))
        three1= '\n\r*•В убежище оборудовано:* %s' % str.lower(random.choice(list(open('station.txt', 'r', encoding='utf-8'))))
        #В убежище есть
        one2 = '\n\r*•В убежище есть:* %s' % str.lower(random.choice(list(open('bagage.txt', 'r', encoding='utf-8'))))
        two2 = '\n\r*•В убежище есть:* %s' % str.lower(random.choice(list(open('bagage.txt', 'r', encoding='utf-8'))))
        three2 = '\n\r*•В убежище есть:* %s' % str.lower(random.choice(list(open('bagage.txt', 'r', encoding='utf-8'))))
        #В убежище живут
        inbunker = '\n\r*•В убежище живут:* %s' % str.lower(random.choice(list(open('inbunker.txt', 'r', encoding='utf-8'))))


        bot.send_message(message.chat.id, '*Новая игра создана!*\n' + cataclysm + people + burn + bunker + time1 + time2 + place + one1 + two1 + three1 + one2 + two2 + three2 + inbunker, parse_mode= 'Markdown')


        #Перекючение клавиатуры
        bot.send_message(message.chat.id, 'Выбирите нужное количество игроков.', reply_markup=keyboard2)

    elif message.text.lower() == '-':
        bot.send_message(message.chat.id, '-')

    elif message.text.lower() == 'вернуться обратно':
        bot.send_message(message.chat.id, 'Что хотите сделать?', reply_markup=keyboard1)

    elif message.text.lower() == '-':
        bot.send_sticker(message.chat.id, '-')
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Посмотрите в 'time1.txt' после последней строки нет абзаца, а во всех остальных, скорее всего есть.
Или в каких-то еще тоже нет и прблема плавающая, зависит от того последнюю строку выбрал рандом или нет и есть в этой строке абзац или нет.
Обрабатывайте загруженные строки filter(None, map(str.rstrip, <lines_iter>))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix
yellow
1. Зачем \r?
2. В файлах есть отступы?
Ответ написан
@KotoFeyic Автор вопроса
Ответ нашёл, не знал, что в текстовом документе, если каждое слово на разной строке, то \n не надо. Помогло просто не указывать \n и \r.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы