-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Special links
There are certain link types that are recognised by the official Telegram applications and cause them to perform certain actions. While Telethon currently offers no way to parse and react to these, they may still be useful to know, so that you can make use of them if you develop an application (like a bot).
-
https://t.me/bot?start=foo. Starts
@bot
with parameterfoo
. Note that the maximum length for the start command is 64 alphanumerical characters. -
https://t.me/share/url?url=foo. Lets the user select a chat and have their input be
foo
. -
https://t.me/c/chat_id/msg_id. Opens the chat with ID
chat_id
and highlights the message with IDmsg_id
. Note that themsg_id
doesn't seem optional. Note that the chat must be a channel (megagroup or broadcast).
Links documented under @DeepLink:
With any of those URLs, the following paths may be used:
-
joinchat/
-
addstickers/
-
iv/
- url
- rhash
-
msg/, share/ and share/url
- url
- text
-
confirmphone
- phone
- hash
-
start
-
startgroup
-
game
-
socks, proxy
- server (address)
- port (port)
- user (user)
- pass (password)
- secret (secret)
-
setlanguage/
- (up to 12 characters)
-
bg
- slug
- mode
- intensity
- bg_color
- tg://resolve?domain=bot&start=foo. Starts @bot with parameter "foo".
-
tg://openmessage?chat_id=123&message_id=456. Should go to the message
456
from chat123
. - tg://privatepost?channel=123&post=456. Should go to the message
456
inside the channel (or megagroup)123
.
Links documented under @DeepLink:
-
tg://resolve
-
domain
: username to resolve. If thedomain
istelegrampassport
, see tg://passport for parameters. -
start
: start parameter to use in a private conversation with the bot. -
startgroup
: start parameter to use in a group with the bot. -
game
: undocumented. -
post
: undocumented.
-
-
tg://join
-
invite
: the invite hash to join to.
-
-
tg://addstickers
-
tg://msg, tg://share and tg://msg_url
-
url
: the text (or URL) to share. -
text
: extra text to share (placeholder), selected to be changed.
-
-
tg://confirmphone
-
phone
: undocumented. -
hash
: undocumented.
-
-
tg://openmessage
-
user_id
: undocumented. -
chat_id
: undocumented. -
message_id
: the ID of the message to focus.
-
-
tg://passport
-
bot_id
: undocumented. -
scope
: undocumented. -
public_key
: undocumented. -
callback_url
: undocumented. -
nonce
: undocumented. -
payload
: undocumented.
-
-
tg://proxy and tg://socks
-
server
: address of the proxy to connect to. -
port
: port used by the proxy server. -
user
: user name credentials. -
pass
: user password credentials. -
secret
: the secret for this MTProto proxy.
-
-
tg://need_update_for_some_feature
-
tg://some_unsupported_feature
-
tg://user
-
id
: the ID of the user to mention.
-
-
tg://share_game_score (and?) tg://gshare
-
hash
: undocumented.
-
-
tg://login
-
code
: the code sent by Telegram to login.
-
-
tg://bg
-
slug
: undocumented. -
mode
: undocumented.
-
-
tg://search_hashtag (Telegram Web/Telegram React)
-
hashtag
: the hashtag to search for.
-
-
tg://bot_command (Telegram Web/Telegram React)
-
command
: the command to use. -
bot
: undocumented.
-
-
tg://unsafe_url (Telegram Web)
-
url
: the underlying URL to access to.
-
More can be found in tdesktop
's click_handler_types.cpp
or local_url_handlers.cpp
.
The links/urls might be platform-/client-specific and as such might not work on every client. If you really need to use some special link make sure it works on all platforms.