Телеграм бот не отправляет знак "+" в сообщении
Столкнулся с тем, что знак + почему-то не отправляется от телеграм бота к пользователю. Кто-то сталкивался с подобным, как это можно поправить?
body = f"Клиент оставил только номер: +++++++{payload['phone']}"
url = f"https://api.telegram.org/bot{config.TG_TOKEN}/sendMessage?chat_id={chat_id}&text={body}"
requests.get(url)
Результат:
Ответы (1 шт):
Автор решения: Trema28
→ Ссылка
https://en.wikipedia.org/wiki/Percent-encoding#Types_of_URI_characters
Знак +
зарезервирован в URL кодировке. Вам надо его закодировать.
body = f"Клиент оставил только номер: +++++++{payload['phone']}"
# body = body.replace('+', '%2B')
body = requests.utils.quote(body)
url = f"https://api.telegram.org/bot{config.TG_TOKEN}/sendMessage?chat_id={chat_id}&text={body}"
requests.get(url)