【问题标题】:How to make phone number a link in Telegram Bot?如何使电话号码成为 Telegram Bot 中的链接?
【发布时间】:2017-03-28 04:54:51
【问题描述】:

我们的团队尝试创建 Telegram Bot,我们必须让长消息中的电话号码可点击。有时我们必须向用户发送信息很多但电话号码很少的消息,因此很难获得电话,因为电报只允许复制整个消息。 如果我们在没有任何降价的情况下发送短消息,则电报移动应用程序将突出显示它:

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

如果我们使用 Markdown Telegram 也可以让数字成为可点击的:

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

虽然如果消息是一个很长的电报,只需忽略数字并且不要解析:

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 将电话号码显示为链接?谢谢

【问题讨论】:

    标签: markdown telegram-bot


    【解决方案1】:

    根据Telegram API,没有这样的东西可以显示可点击的数字。您的 Telegram 应用程序正在完成这项工作,但对于长消息它不起作用(可能在 GitHub 中打开一个问题并告诉他们)。 您可以只使用 HTML 或 Markdown 更改电话号码的样式,但不能点击它们以保存到联系人。

    【讨论】:

      【解决方案2】:

      我发现当字符串长度为 200 或更多时,突出显示将不起作用。好像是非官方的限制。

      【讨论】:

      • 是的,我想它只是移动客户端功能来突出数字,所以桌面和网络应用程序甚至根本不突出任何消息
      • 没错,网页和桌面不突出显示消息。我希望这可以在文档中得到更好的解释。老实说,我不喜欢这种魔法。工程师应该始终知道会发生什么
      • 在代码中可以观察到。这里的贡献者回答了这个问题。我要求增加限制说 800 个字符。 reddit.com/r/Telegram/comments/5qhfa3/clickable_phone_number
      • 你知道是否有办法做到这一点,但不是显示数字,而是显示“这里”之类的文字?
      • @JacoboTapia 不知道
      【解决方案3】:

      您需要添加国家代码前缀才能获得可点击的电话号码

      【讨论】:

      • +7 是俄罗斯的国家代码,所以我使用了前缀,它没有帮助
      猜你喜欢
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多