2016-11-14 3 views
2

Наша команда пытается создать бонус Telegram, и нам очень важно сделать номер телефона в длинных сообщениях, которые можно щелкнуть. Иногда нам приходится отправлять сообщения наших пользователей с большим количеством информации и несколькими номерами телефонов, поэтому трудно получить телефон, потому что телеграмма позволяет копировать только все сообщение. Если отправить короткое сообщение без уценки телеграммы мобильного приложение будет выделить его:Как сделать номер телефона ссылкой в ​​телеграмме Bot?

await bot.send_message(chat_id, "Example text with a phone +79991234567") 

Telegram shows the phone number as a link

Если мы используем Markdown Телеграмма также сделать ряд быть интерактивным:

await bot.send_message(
    chat_id, 
    "Example text with a phone [+79991234567](tel:+79991234567)", 
    parse_mode='Markdown' 
) 

Telegram shows the phone number as a link

Хотя, если сообщение довольно длинное, Telegram просто игнорирует номера и делает не разобрать:

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' 
) 

Telegram doesn't shows the phone number as a link

Есть ли способ сделать Телеграмма, чтобы показать номера телефонов в качестве ссылки? Спасибо

ответ

2

Я обнаружил, что когда длина строки составляет 200 или более, выделение не будет работать. Похоже на неофициальное ограничение.

+0

Да, и я полагаю, что только функции мобильных клиентов выделяют номера, поэтому настольные и веб-приложения даже не выделяют никаких сообщений вообще – Znack

+1

Правильно, веб-сайт и рабочий стол не выделяют сообщения. Хотелось бы, чтобы это было лучше объяснено в документах. И, честно говоря, мне не нравится такая магия. Инженер всегда должен знать, чего ожидать –

+1

Это можно увидеть в коде. Здесь автор отвечает на этот вопрос. Я попросил увеличить лимит, чтобы сказать 800 символов. https://www.reddit.com/r/Telegram/comments/5qhfa3/clickable_phone_number/ – koxt

2

В соответствии с Telegram API нет такой вещи для показа чисел, которые можно щелкнуть. Ваше приложение Telegram выполняет свою работу, а для длинных сообщений оно не работает (возможно, вы можете открыть проблему в GitHub и сообщить им). Вы можете просто использовать HTML или Markdown, чтобы изменить стиль телефонных номеров, но они не могут быть доступны для сохранения контактов.