Уведомления

Группа в Telegram: @pythonsu

#1 Май 14, 2022 19:36:32

Danila87
Зарегистрирован: 2022-05-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенос строк TeleBot

Пробую писать бота TeleBot и задача следующая:
Есть база данных в SQLite с таблицей Songs. Там хранятся тексты песен. Как сделать так, чтобы при обращении к боту для получения песни, он брал её из базы данных и выводил в нужном формате (С переносом строк, а не сплошным текстом).
Как составить запрос и вывести нужные данные я знаю, вопрос именно в том, как сделать нужный формат?

Раньше писал на PHP и там достаточно было в таблице поставить тег <br> для переноса строки. Как это работает на Python?

Офлайн

#2 Май 15, 2022 02:50:31

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9829
Репутация: +  853  -
Профиль   Отправить e-mail  

Перенос строк TeleBot

Danila87
Раньше писал на PHP и там достаточно было в таблице поставить тег <br> для переноса строки.
Ну, ты выведи текст
  
text = 'line1\nline2\nline3'
А вообще в Telegram форматирование сообщений в Markdown (неполный там формат).
https://core.telegram.org/api/entities
https://ru.wikipedia.org/wiki/Markdown

Со stakoverflow краткая шпаргалка для Telegram
**bold**
__italic__
--underline--
~~strikethrough~~
[hyperlink](https://google.com)
[user mention](tg://user?id=12345)
`inline monospaced text`
```block monospaced text```
||spoiler||



Офлайн

#3 Май 15, 2022 06:22:33

Danila87
Зарегистрирован: 2022-05-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенос строк TeleBot

py.user.next
Вопрос именно в формате хранения текста в БД.
То есть есть SQL запрос, который возвращает песню и мне нужно чтобы эта песня была в нужном формате.

Вариант с
 text = 'line1\nline2\nline3'
работает, только в случае если текст вводится непосредственно в питоне. А мне нужно что то вроде
 song = get_song(text_song=text_song)
Где get_song возвращает текст песни из бд.
Пробовал прямо в записи песни в таблице расставлять \n - не работает. Пробовал parse_mode= “HTML” и ставить теги <br> - не помогло.

Офлайн

#4 Май 15, 2022 12:05:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9829
Репутация: +  853  -
Профиль   Отправить e-mail  

Перенос строк TeleBot

Danila87
Вопрос именно в формате хранения текста в БД.
Храниться в БД он должен без форматирования. А форматирование делается после того, как текст взят из БД. Чтобы делать форматирование текста, нужно немножко программировать уметь.

Danila87
работает, только в случае если текст вводится непосредственно в питоне
У меня Telegram-бот переносит строки в своих сообщениях именно так.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version