#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