mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-15 11:25:54 +00:00
Added page for deep linking util
This commit is contained in:
parent
94939660c7
commit
fc9e2b82c6
2 changed files with 60 additions and 46 deletions
60
docs/utils/deep_linking.rst
Normal file
60
docs/utils/deep_linking.rst
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
============
|
||||
Deep Linking
|
||||
============
|
||||
|
||||
Telegram bots have a deep linking mechanism, that allows for passing
|
||||
additional parameters to the bot on startup. It could be a command that
|
||||
launches the bot — or an auth token to connect the user's Telegram
|
||||
account to their account on some external service.
|
||||
|
||||
You can read detailed description in the source:
|
||||
https://core.telegram.org/bots#deep-linking
|
||||
|
||||
We have added some utils to get deep links more handy.
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
Basic link example
|
||||
------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from aiogram.utils.deep_linking import create_start_link
|
||||
|
||||
link = await create_start_link(bot, 'foo')
|
||||
|
||||
# result: 'https://t.me/MyBot?start=foo'
|
||||
|
||||
Encoded link
|
||||
------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from aiogram.utils.deep_linking import create_start_link
|
||||
|
||||
link = await create_start_link(bot, 'foo', encode=True)
|
||||
# result: 'https://t.me/MyBot?start=Zm9v'
|
||||
|
||||
Decode it back
|
||||
--------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from aiogram.utils.deep_linking import decode_payload
|
||||
from aiogram.filters import CommandStart, CommandObject
|
||||
from aiogram.types import Message
|
||||
|
||||
@router.message(CommandStart(deep_link=True))
|
||||
async def handler(message: Message, command: CommandObject):
|
||||
args = command.args
|
||||
payload = decode_payload(args)
|
||||
await message.answer(f"Your payload: {payload}")
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. autofunction:: aiogram.utils.deep_linking.create_start_link
|
||||
|
||||
.. autofunction:: aiogram.utils.deep_linking.decode_payload
|
||||
Loading…
Add table
Add a link
Reference in a new issue