【问题标题】:api Telegram webhook : how can delete new_chat_participant messageapi Telegram webhook:如何删除 new_chat_participant 消息
【发布时间】:2017-10-27 11:38:34
【问题描述】:

我通过 api telegram 的webhook 方法创建了一个机器人,它可以正常工作。

但我想知道如何在成员发送消息之前删除任何new_chat_participant 消息。

你知道,在没有与成员的任何消息之前,电报不会向你的钩子 url 发送请求!!!!!!!

例如,当一个成员将另一个成员添加到晚餐组时,我只需要 message_id。

【问题讨论】:

  • @JJohnson 当你不明白为什么要重播时?我的问题很清楚!我想删除提及信息,例如,当您向群组电报添加新成员时,会在群聊中自动发送提及信息。所以我想非常快地删除那条消息。
  • @JJohnson 请在回答前确认。我检查了更多可以非常快速地删除它的机器人,你可以检查 (t.me/Z_linksbot) 机器人哈哈

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


【解决方案1】:

在@BotFather 中将/setprivacy 设置为禁用以接收来自您的组的全部操作和消息。 (为了删除这些消息,机器人必须有权访问组中的消息,需要是管理员)。

当新成员被添加到组中时,您将在您的 webhook 中收到一个 json,如下所示:

{ update_id: 123123123,
  message:
    { message_id: 2599,         // Pay attention to this message id
      from: {
        ...
      },
      chat: {
        id: -987372183          // This is your group's id
        ...
      },
      date: 1582378239,
      new_chat_participant: {        // Field when new member is added to group

      }
      ...
}

现在您需要向 Telegram 发送发布请求以删除此消息(操作)。请求是:

request.post("https://api.telegram.org/botYOUR_BOT_TOKEN/deleteMessage?chat_id=GROUP_ID&message_id=MESSAGE_ID_RECEIVED", ... )

希望这会有所帮助。

【讨论】:

  • 我完全了解你的解释。但主要问题是当您使用 webhook 时出现错误:can't use getUpdates method while webhook is active 而使用 webhook 时您将不会收到请求。当电报服务器向您发送请求时,一个成员向群聊发送消息的钩子帖子
  • 您将在您的 webhook 中收到这些操作,我在多个组上实施了一个机器人,并且我禁用了 /setprivacy(这对于接收任何类型的所有操作和消息非常重要)。你在@BotFather 上禁用了这个选项吗?
  • 是的,没错,我的错误是 ['message']['text'] 这个请求没有文本值,而且我的 webhook 也出错了。我修好了。谢谢
猜你喜欢
  • 1970-01-01
  • 2018-06-06
  • 2021-07-15
  • 2018-05-19
  • 2019-01-31
  • 2015-11-09
  • 1970-01-01
  • 2016-04-04
  • 2017-09-17
相关资源
最近更新 更多