如何从频道检索消息列表

时间:2019-07-14 18:23:06

标签: c# discord.net

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

已正确找到该消息,但是该消息当前存储为fun getAllMediaFilesOnDevice(context: Context): { //get the files like before... //then post it to the mutable livedata to notify observers mutableFiles.postValue(files) } ,并且要使用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]."); } 的值为空

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

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

将来在这个问题上苦苦挣扎的人都是我这样做的方式

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].");
    }