Ссылки, открывающие Телеграм-бота
Ссылки — это обычный способ перейти к боту и начать диалог. Диплинки (deep links) можно использовать, чтобы пользователь начал диалог с ботом с дополнительными параметрами.
Обычные ссылки
Ссылки на ботов работают так же, как и ссылки на пользователей, группы и каналы: бота с юзернеймом @examplebot
можно открыть по ссылке t.me/examplebot.
Диплинки
Диплинк — это ссылка, по которой пользователь может запустить бота с неким параметром. Например, для реферальных програм этот параметр может содержать ID поделившегося ссылкой. Такая ссылка имеет вид t.me/examplebot?start=ВАШ_ТЕКСТ
from aiogram.utils.deep_linking import create_start_link
link = await create_start_link(bot, 'from_ad')
Когда пользователь переходит по диплинку, у него открывается переписка с ботом и кнопка «Запустить» — даже если пользователь уже запускал бота. Кнопка «Запустить» отправляет команду /start ВАШ_ТЕКСТ
. При этом пользователь увидит только /start
, как при обычном запуске бота.
Диплинки для групп
Диплинки можно использовать не только для личных сообщений, но и для групп.
Ссылка t.me/examplebot?startgroup=ВАШ_ТЕКСТ откроет у пользователя меню с выбором группы для добавления бота. Когда пользователь добавит бота, сразу отправится команда /start ВАШ_ТЕКСТ
.
from aiogram.utils.deep_linking import create_start_link
link = await create_startgroup_link(bot, 'from_ad')
Использование ссылок tg://
Все эти ссылки также имеют эквиваленты с tg://
. Это прямые ссылки, которые можно открыть внутри приложения:
- Обычная ссылка: tg://resolve?domain=examplebot
- Диплинк: tg://resolve?domain=examplebot&start=ВАШ_ТЕКСТ
- Диплинк для групп: tg://resolve?domain=examplebot&startgroup=true
Существуют и другие прямые ссылки, которые могут заменять ссылки t.me
или выполнять специальные действия. Например, ссылка tg://settings открывает настройки в некоторых приложениях Telegram. Списки таких ссылок есть в документации API и в неофициальном канале @DeepLink.