Преобразование обычной строки в 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
→ Ссылка