Our team tries to create the Telegram Bot and it is essential for us to make phone number in the long messages clickable. Sometimes we have to send our users messages with a lot of information and few phone numbers, so it is hard to get the phone, because telegram allows to copy only the whole message. If we send the short message without any markdown the telegram mobile app will highlight it:
await bot.send_message(chat_id, "Example text with a phone +79991234567")
If we use Markdown Telegram also make a number be clickable:
await bot.send_message(
chat_id,
"Example text with a phone [+79991234567](tel:+79991234567)",
parse_mode='Markdown'
)
Although if the message is a quite long Telegram just ignore the numbers and don't parse:
await bot.send_message(
chat_id,
"Example text with a phone [+79991234567](tel:+79991234567)\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message\nwithin a long-long message",
parse_mode='Markdown'
)
Is there a way to make Telegram to show phone numbers as a link? Thank you
You need to prefix country code to get a clickable phone no
According to Telegram API there's no such thing for showing numbers clickable. Your Telegram application is doing the job and for long messages it doesn't work (maybe open an issue in GitHub and tell them). You can just use HTML or Markdown to change style of phone numbers but they can't be clickable for saving to contacts.
I found that when string length is 200 or more, highlighting won't work. Seems like unofficial limitation.