Как создать красивую ссылку в сообщении для пользователя через Bot API в телеграме?

Как можно изменить конструкцию ниже, чтобы при нажатии на ссылку "Купить" открывался чат с автором сообщения? Текущая конструкция не активна. 

```go
// Создаем гиперссылку на чат с автором исходного сообщения
chatURL := "https://t.me/" + originalSender.UserName
formula := "[Купить](" + chatURL + ")"
cell = row.AddCell()
cell.SetString(formula)
``` 

Можете ли вы подсказать, как сделать текст активной ссылкой, чтобы при нажатии на "Купить" происходило открытие чата с автором сообщения, но не менять URL-адрес чата?
  • 26 апреля 2024 г. 12:50
Ответы на вопрос 2
Для того чтобы создать активную ссылку в сообщении бота в Telegram, необходимо использовать формат Markdown или HTML. В данном случае вы можете использовать Markdown, так как это более популярный вариант. 

Для сделать текст "Купить" активной ссылкой, которая при нажатии откроет чат с автором сообщения, вы можете использовать следующий код:

```go
// Создаем гиперссылку на чат с автором исходного сообщения
chatURL := "https://t.me/" + originalSender.UserName
formula := "[Купить](tg://user?id=" + originalSender.ID + ")"
cell = row.AddCell()
cell.SetString(formula)
```

Здесь мы заменили ссылку на формат Telegram-ссылки `tg://user?id=ID_пользователя`, который откроет чат с соответствующим пользователем. 

Надеюсь, это поможет вам создать активную ссылку в вашем сообщении бота.
В методе sendMessage надо передать нужный parse_mode. 

Для маркдауна передавайте MarkdownV2, еще можно использовать html, тогда передавайте HTML

https://core.telegram.org/bots/api#sendmessage
Похожие вопросы