Для удаления сообщений, написанных ботом, через VkNet, вам необходимо выполнить несколько шагов.
Первым делом, вы должны создать экземпляр клиента API VkApi и авторизоваться в нем с помощью токена доступа вашего бота:
var api = new VkApi(); api.Authorize(new ApiAuthParams { AccessToken = "YOUR_ACCESS_TOKEN" });
Затем, вы должны получить идентификатор (peerId) диалога или беседы, в которых находятся сообщения, которые нужно удалить. Это можно сделать с помощью метода Messages.GetConversations (для диалогов) или Messages.GetConversationsById (для бесед). Например, чтобы получить идентификатор диалога, вы можете использовать следующий код:
var conversations = api.Messages.GetConversations(new GetConversationsParams()); var dialog = conversations.Items.First(); var peerId = dialog.Conversation.Peer.Id;
После получения идентификатора диалога или беседы, вы можете использовать метод Messages.Delete для удаления сообщений. Например, чтобы удалить все сообщения бота в данном диалоге, вы можете использовать следующий код:
var messages = api.Messages.GetHistory(new MessagesGetHistoryParams { PeerId = peerId, Count = 200 }); var messagesToDelete = messages.Items.Where(m => m.FromId == api.UserId).Select(m => m.Id).ToList(); api.Messages.Delete(messagesToDelete);
Обратите внимание, что метод Messages.GetHistory не возвращает все сообщения сразу, поэтому, если в диалоге или беседе больше 200 сообщений, вам может потребоваться получить оставшиеся сообщения таким же образом и объединить списки сообщений перед удалением.
Также стоит учесть, что удаление сообщений может быть ограничено правами доступа к API или правами пользователя/сообщества, поэтому убедитесь, что ваши токен доступа и настройки безопасности позволяют удаление сообщений.