如何从频道中检索消息列表

How to retrieve a list of messages from a channel

我正在使用 Discord 机器人,我想编辑该机器人之前发布的消息。我将消息 ID 存储到 SQL 数据库,然后检索它。

消息已正确找到,但消息当前存储为 IMessage 并使用 ModifyAsync 我认为它需要 SocketUserMessage 所以我现在使用下面的行代码但是变量 EditMessage 没有被设置。

将变量message转换为SocketUserMessage

var EditMessage = message as SocketUserMessage;
while (reader.Read())
{
     ulong MessageID = (ulong)reader.GetInt64(0);                     
     var message = await Context.Channel.GetMessageAsync(MessageID);
     var EditMessage = message as SocketUserMessage;
     await EditMessage.ModifyAsync(x => x.Content = "Test [Edited].");
}

获取错误:

Object reference not set to an instance of an object

这会因为 EditMessage 的值为 Null

任何帮助将不胜感激

感谢收到的评论,我已经开始工作了

任何人在未来遇到这个问题我都是这样做的

while (reader.Read())
    {                       
       ulong MessageID = (ulong)reader.GetInt64(0);                     
       var message = (RestUserMessage)await Context.Channel.GetMessageAsync(MessageID);
       await message.ModifyAsync(x => x.Content = "Test [Edited].");
    }