发送内联键盘,如t.me/username,但发送给电报php

时间:2018-04-02 11:07:22

标签: php bots telegram telegram-bot php-telegram-bot

我想发送一个内联键盘,让用户进入somebodey的聊天状态chat_id。我知道我可以设置内联键盘的网址,例如:t.me/username 但是类似的东西不能用于

chat_id : t.me/123456

怎么做?

1 个答案:

答案 0 :(得分:0)

只需在https://的{​​{1}}开头使用InlineKeyboardButton前缀即可。

sendMessage方法的url参数应如下所示:

  

reply_markup

"reply_markup": {"inline_keyboard": [[{"text": "button text...", "url": "https://t.me/<chat_id or name of another user>"}]]}的完整示例:

  

curl

此行向curl -v -H "Content-Type: application/json" -d '{"chat_id": 123456, "text": "here is your chat with <USERNAME>", "reply_markup": {"inline_keyboard": [[{"text": "here is your link to another user", "url": "https://t.me/<USERNAME>"}]]}}' https://api.telegram.org/bot<BOT_ID>:<BOT_TOKEN>/sendMessage = 123456的用户发送Messageid包含一个Message的内联键盘。此按钮有一个链接,可与标识为InlineKeyboardButton的其他用户和相应的网页网址<USERNAME>进行聊天。

更新

很遗憾,如果您要查找的用户没有用户名,则无法建立https://t.me/<USERNAME>链接,因此您无法与他联系:

  

您可以写信给手机联系人并拥有电报。联系人的另一种方式是在搜索栏中输入他们的Telegam用户名   ...
  您可以在Telegram上设置公共用户名。然后,其他用户可以通过该用户名找到您 - 您将出现在“全局结果”下的联系人搜索中。请注意,即使他们不知道您的号码,找到您的人也可以向您发送消息。如果您对此不满意,我们建议您不要在Telegram中设置用户名。

所以看起来这里唯一的解决方案是确保每个需要的联系人都有一个用户名。

可以找到更多信息herehere