Каким образом можно удалить сообщения, написанные ботом, с использованием VkNet?

Как решить проблему с ошибкой "One of the parameters specified was missing or invalid: message_ids or cmids is undefined" при попытке удалить сообщение в беседе, где бот является администратором, в отличие от случая, когда бот является создателем беседы? Вот код, который я использовал:

```csharp
List<ulong> messageID = new List<ulong>() {
    (ulong)SendMessage("1")
};

Thread.Sleep(9000);
_bot.Api.Messages.Delete(
    messageID, false, group_id, true
);
```

Буду благодарен за помощь!
  • 25 октября 2023 г. 20:48
Ответы на вопрос 1
Для удаления сообщений, написанных ботом, можно использовать метод `Messages.Delete` из библиотеки VkNet. 

Ошибку "One of the parameters specified was missing or invalid: message_ids or cmids is undefined" можно исправить, передав правильные значения параметров `message_ids` и `cmids`. 

В случае, когда бот является администратором беседы, вы не можете удалить сообщение, отправленное ботом, с помощью метода `Messages.Delete`. В этом случае вам потребуется использовать метод `Messages.DeleteChatMessage`, который позволяет удалять сообщения администратора в беседе. 

Вот пример кода, который использует метод `Messages.DeleteChatMessage` для удаления сообщений, отправленных ботом в беседе:

```csharp
ulong groupId = // ID вашей группы
ulong peerId = // ID беседы

List<ulong> messageIds = new List<ulong>() {
    (ulong)SendMessage("1")
};

foreach (ulong messageId in messageIds)
{
    _bot.Api.Messages.DeleteChatMessage(groupId, messageId, peerId);
}
```

Обратите внимание, что вместо `group_id` нужно использовать `groupId` в методе `Messages.DeleteChatMessage`.

Надеюсь, это поможет вам решить проблему с удалением сообщений бота при использовании VkNet!
Похожие вопросы