Особенности работы пользовательских ссылок в Telegram-ботах на Telegraf
При использовании библиотеки Telegraf для создания Telegram-бота возникает специфическое ограничение при отправке ссылок на профили пользователей.
Рассмотрим пример кода:
bot.command('profile', async ctx => {
await ctx.reply(
`<a href="tg://user?id=12345">Профиль</a>`,
{ parse_mode: 'HTML' }
);
});Данный код отправляет кликабельную ссылку "Профиль", использующую специальный протокол Telegram tg://user?id=.
Ключевое ограничение
Ссылка функционирует корректно только в одном случае: когда параметр id соответствует идентификатору текущего пользователя (того, кто взаимодействует с ботом).
Если попытаться указать ID другого пользователя, ссылка не будет работать как ожидается - она либо не станет кликабельной, либо не приведет к нужному профилю.
Практический вывод
- Данный метод подходит только для создания ссылок на профиль самого пользователя
- Для ссылок на других пользователей необходимо использовать альтернативные подходы
- Ограничение связано с политиками безопасности Telegram