2016-02-08 1 views

ответ

17

В Telegram Bot API такой функции нет.

UPD 2017-05-19: Существует официальный метод DeleteMessage, подробнее: https://core.telegram.org/bots/api#deletemessage

https://stackoverflow.com/a/43965602/1140438

+0

Существует метод удаления сообщений не с помощью API-интерфейса бота: https://core.telegram.org/method/messages.deleteMessages – ihoru

+0

Спасибо @ihoru, означает ли это, что бот не может удалить, например, неправильный пост? Уверены ли вы в этом? – Ebrahim

+0

есть ли какое-либо решение в этом отношении? – Ebrahim

1

Есть два метода в бот API, которые позволяют редактировать сообщение : editMessageText и editMessageCaption. Это не идеально, но вы можете использовать его в качестве альтернативы.

Например путем редактирования сообщение для:

"Это сообщение недоступно."

14

Существует официальная поддержка DeleteMessage метод в Bot API 3.0. Подробнее здесь: https://core.telegram.org/bots/api#deletemessage

https://api.telegram.org/botTOKEN/deleteMessage?chat_id=CID&message_id=MID

Как вы можете видеть, что есть два аргумента: chat_id и message_id.

Вы можете удалить сообщения бота или другие сообщения (если бот - admin), кроме служебных сообщений (например, сообщения о соединении/опускании).

  1. В случае успеха, он возвращает следующий объект JSON: {"ok":true,"result":true}.

  2. Если вы пытаетесь удалить служебное сообщение или сообщение другого пользователя, но бот не является администратором: {"ok":false,"error_code":400,"description":"Bad Request: message can't be deleted"}.

  3. Если вы пытаетесь удалить несуществующее сообщение или его уже удален: {"ok":false,"error_code":400,"description":"Bad Request: message to delete not found"}