API Telegram отправляет сообщение специальным символом

#telegram #telegram-bot #py-telegram-bot-api

Вопрос:

Мне нужно отправить URL-адрес, содержащий специальный символ#, через запрос на публикацию в Telegram API. В настоящее время я использую HTML в качестве режима синтаксического анализа. Сообщение для отправки выглядит примерно так:

 <a href='www.example.com/#/otherparams'>inline link example</a>
 

Но когда я отправляю сообщение, подстрока URL-адреса от # до конца автоматически удаляется.

Я пытаюсь закодировать # соответствующим ASCII-кодом #, и сообщение отправляется правильно, но когда я нажимаю на ссылку, URL-адрес не работает. Я думаю, что нет разрешения #. Если я вручную заменю код ASCII в строке URL браузера на # работает.

Я, очевидно, пытаюсь избежать символа # с обратной косой чертой, но проблема все еще сохраняется.

В документах я ничего не могу найти. Это пример сценария, который я использую, написанного на Python. Проблема только в #, если я изменю сообщение с URL-адресом, который не содержит#, скрипт работает.

 import requests
msg="<a href='www.example.com/#/otherparams'>inline link example</a>"
requests.post("https://api.telegram.org/bot"   token   "/sendMessage"   "?chat_id="   chat_id   "amp;parseMode=htmlamp;text="   msg) 
 

Комментарии:

1. Вы используете parseMode=HTML , что неверно. Используйте parse_mode=html вместо этого.

2. Да, я написал html в сценарии, я отредактировал вопрос. Спасибо

3. Изменить parseMode=HTML на parse_mode=HTML в requests.post(... строке

4. Да, я пишу вопрос с телефона. Я допустил некоторую ошибку с опечаткой, но скрипт работает, проблема в #

5. Попробуйте добавить http или https в URL-адрес href