api Telegram webhook:如何删除new_chat_participant消息

时间:2017-10-27 11:38:34

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

我通过api电报的set.seed(123) # install.packages(c("data.table"), dependencies = TRUE) library(data.table) mydt <- data.table(id = 1:100, x = sample(LETTERS[1:6], size = 100, replace = TRUE), group = paste0("group", sample(1:3, size = 100, replace = TRUE)), prob = runif(100, 0, 1) ) class(mydt) mydt2 <- mydt %>% tidyr::spread(group, prob) %>% setDT() mydt2[!is.na(group1), new.col := x] 方法创建了一个机器人,它没问题和工作。

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

您知道电报不会向您的挂钩网址发送请求,直到与会员没有任何消息!!!!!!!

我只需要message_id,例如当一个成员向supper group添加另一个成员时。

enter image description here

1 个答案:

答案 0 :(得分:1)

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

当新成员被添加到组中时,您将在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(&#34; https://api.telegram.org/botYOUR_BOT_TOKEN/deleteMessage?chat_id=GROUP_ID&message_id=MESSAGE_ID_RECEIVED&#34;,...)

希望这有帮助。