Discord 2.0 Очистка сообщения (vb.net) - PullRequest
0 голосов
/ 23 января 2019

Я пишу простой диск-бот, который очищает сообщение моего канала. Но я получаю ошибку, и я не знаю, как выяснить, что ее вызвало. Вот весь код.

Imports Discord
Imports Discord.Commands
Imports Discord.WebSocket

<Group("purge")>
Public Class cmd_testcmd
    Inherits ModuleBase
    <Command>
    Public Async Function DelMsg(amount As Integer) As Task

        Try

            Dim msgs = Context.Channel.GetMessagesAsync(amount)
            Dim msg As IMessage = msgs

            Await msg.DeleteAsync(Await msgs.FlattenAsync)

        Catch ex As Exception
            Console.WriteLine("[Test] " & ex.Message)
        End Try

    End Function
End Class

Итак, когда я набираю! Purge 99, он должен удалить 99 сообщений. Ошибка:

[Test] Unable to cast object of type 'Concat2AsyncIterator`1[System.Collections.Generic.IReadOnlyCollection`1[Discord.IMessage]]' to type 'Discord.IMessage'.

1 Ответ

0 голосов
/ 24 января 2019

Невозможно привести объект типа 'Concat2AsyncIterator1 [System.Collections.Generic.IReadOnlyCollection1 [Discord.IMessage]]' к типу 'Discord.IMessage'

Как ясно указывает на ошибку: msgs - это не одно сообщение IMessage, а коллекция сообщений IMessage

Dim msgs = Context.Channel.GetMessagesAsync(amount)
Dim msg As IEnumerable(of IMessage) = Await msgs.FlattenAsync()

Await Context.Channel.DeleteAsync(msg)
...