Преобразование обычной строки в raw
В общем ситуация такая: мой бот телеграмм логирует любое входящее сообщение, при этом при отправке лога в специальную группу используется markdown. Столкнулся с такой проблемой, у одного из пользователей в нике есть нижнее подчёркивание (_), и MD определяет его как начало зачёркиваемой строки и вызывает ошибку не найдя второй такой символ. Есть ли в Python функция или метод, чтобы обычный str преобразовать в сырой?
bot.send_message(groupId, username + '\n' + msg, parse_mode = 'markdown')
# username - str, содержащий специальный символ для markdown
P.S. markdown использую для форматирования лога при отправке его в мою группу, вот так:
Ответы (1 шт):
Автор решения: u111
→ Ссылка
Либо отвечаешь не markdown, а простым текстом, либо, проходя по тексту, экранируешь символы _
, #
, *
символом \
.
def md(s):
new_s = ''
for i in s:
if i not in '_#*':
new_s += i
else:
new_s += '\\' + i
return new_s