Преобразуйте внешний вид URL и отправьте его ботом Telegram - PullRequest
0 голосов
/ 15 апреля 2020

Я использую бот Telegram для отправки информации из скрипта python.

Моя функция для отправки сообщения моему боту Telegram:

def telegram_bot_sendtext(bot_message):

    bot_token = 'token'
    bot_chatID = 'id'
    send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&parse_mode=Markdown&text=' + bot_message
    response = requests.get(send_text)

    return response.json()

Одна из данных переменная с именем «URL», которая содержит URL, например, такой: https://www.sezane.com/fr/product/collection-printemps-all-0804/robe-will?cou_Id=859

У меня есть два вопроса:

  1. Когда я используя другие переменные, все ок. Однако при отправке переменной URL ничего не происходит, и я не получаю никакого сообщения
  2. Как можно получить ссылку как «ссылку с коротким именем», а не как целую ссылку? Например, получить «Google» вместо «www.google.com»?

1 Ответ

1 голос
/ 15 апреля 2020

1) markdown parseMode требует допустимого синтаксиса уценки, я думаю, _ в вашем примере URL запускает Markdown itali c text , который никогда не закрывается, Telegram возвращает ошибку и сообщение не будет отправлено. Используйте parse_mode: HTML, чтобы отключить это. (В html элементах parsemode нет элементов _)

2) И в parsemode markDown и HTML есть опции для добавления гиперссылки на сообщение;

HTML

<a href="https://www.google.com/">Google</a>

MarkDown

[Google](https://www.google.com/)
telegram_bot_sendtext("Please press this [link](https://www.sezane.com/fr/product/collection-printemps-all-0804/robe-will?cou_Id=859)")

Для получения дополнительной информации, пожалуйста, посмотрите там Документация .

...