api Telegram webhook: как удалить сообщение new_chat_participant

Я создал бота с помощью webhook метода телеграммы api, и все в порядке, работает.

но я хочу знать, как можно удалить любые new_chat_participant сообщения перед отправкой сообщения участниками.

Вы знаете, что телеграмма не отправляет запрос на ваш URL-адрес, пока не будет никаких сообщений с участниками !!!!!!!

Мне нужен только message_id, например, когда участник добавляет другого в группу ужина.

введите здесь описание изображения


person Mikel Williams    schedule 27.10.2017    source источник
comment
@JJohnson, когда ты не можешь понять, зачем ты переигрываешь ?? мой вопрос очень ясен! Я хочу удалить информацию об упоминаниях, например, когда вы добавляете нового участника в групповую телеграмму, чтобы автоматизировать отправку информации об упоминании в групповом чате. поэтому я хочу очень быстро удалить это сообщение.   -  person Mikel Williams    schedule 27.10.2017
comment
@JJohnson, пожалуйста, убедитесь, прежде чем отвечать. Я проверил других ботов, которые могут удалить его очень быстро, вы можете проверить (t.me/Z_linksbot) бот, ха-ха   -  person Mikel Williams    schedule 27.10.2017


Ответы (1)


Установите /setprivacy на отключение в @BotFather, чтобы получать все действия и сообщения от вашей группы. (Чтобы удалить эти сообщения, бот должен иметь доступ к сообщениям в группе, должен быть администратором).

Когда новый участник будет добавлен в группу, вы получите 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 ", ...)

Надеюсь это поможет.

person J Johnson    schedule 27.10.2017
comment
Я знаю все, что вы объясните. но основная проблема заключается в том, что при использовании webhook вы получаете ошибку: can't use getUpdates method while webhook is active, а при использовании webhook вы не получаете запрос. когда сервер телеграммы отправляет вам сообщения о запросах, которые участник отправляет сообщение в групповой чат - person Mikel Williams; 27.10.2017
comment
Вы получите эти действия в своем веб-перехватчике, у меня есть бот, реализованный в нескольких группах, и я отключил /setprivacy (это действительно важно для получения всех действий и сообщений любого типа). У вас отключена ли эта опция на @BotFather? - person J Johnson; 27.10.2017
comment
да, правильно, моя ошибка была ['message']['text'], этот запрос не имел текстового значения, а также ошибка моего веб-перехватчика. Я исправил это. Спасибо - person Mikel Williams; 27.10.2017