【问题标题】:Create chat id in telegram from api or dynamic for send message to bot在电报中从 api 或动态创建聊天 id 以向机器人发送消息
【发布时间】:2017-03-03 22:40:37
【问题描述】:

我在 php 中准备了一个用于向机器人发送消息的 api。每次,我都需要在 api 调用中传递chat_id。 任何人都知道我如何创建唯一的聊天 ID 以向机器人发送消息。

提前致谢。

【问题讨论】:

    标签: telegram telegram-bot php-telegram-bot telegram-webhook


    【解决方案1】:

    根据documentation

    机器人无法发起与用户的对话。用户必须先将他们添加到组或向他们发送消息。人们可以使用 telegram.me/ 链接或用户名搜索来找到您的机器人。

    您需要先编写(或用户需要编写)机器人。之后,作为响应(通过webhookgetUpdates 方法获得),您可以获得用于向用户写入消息的chat_id。

    更新:如果我理解你的评论是正确的,你可以这样做:

    1. 创建一些页面或模式窗口,可用于向支持发送消息。
    2. 捕获此消息并通过 sendMessage 方法将其发送给支持团队。

    谁?你可以管理这个。我看到两个选项:

    1. 您可以在电报中为支持团队创建一个组,并将您的机器人添加到该组。
    2. 您可以为您身边的所有支持团队成员存储聊天 ID,并选择如何接收每个支持请求表单网站的消息。
    3. 当 bot 收到消息时,它会转到后端(webhook 或 getUpdates),然后从后端显示给最终用户。

    【讨论】:

    • 我想在我网站的聊天支持中使用它。如果任何一位用户需要联系支持,那么他们可以向机器人发送消息。访问者不必使用 Telegrame。
    • 如果支持人员会回复他们 我怎样才能推迟两个访客之间的聊天?我们可以使用 chat_id 推迟消息线程。
    【解决方案2】:

    每个用户的聊天 ID 都是唯一的,因此您可以从自己的 Telegram 帐户向您的机器人发送消息并保存聊天 ID。 之后,当网站用户在您的网站中发送消息时,您可以通过 php 将该消息传递给您的机器人,并强制机器人使用您的聊天 ID 将其发送给您。

    您不需要通过电报与用户交流,您只需使用 PHP 获取消息并将其交给机器人发送给您自己。

    请注意,机器人只能向之前至少发送过一条消息的人发送消息。

    【讨论】:

    • 如何获取我的聊天 ID?
    • 我不熟悉 PHP 中的电报机器人,但是在 C# 中,您需要做的就是:在您的机器人中点击开始,然后使用 long chatID = update.Message.Chat.Id; 您可以找到用户的聊天 ID谁已将当前更新(/开始)发送到机器人。在这种情况下,用户就是您自己,您将获得自己的聊天 ID。
    • @coderexpert 我搜索了它的 PHP 命令,我认为这将解决您的问题:$update->message->chat->id
    猜你喜欢
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2017-03-19
    • 2020-08-25
    相关资源
    最近更新 更多