【发布时间】:2021-12-04 13:37:10
【问题描述】:
我正在为我的机器人执行一个命令来编辑它发送的消息
但我需要得到消息来编辑它
我找到了一个获取它但返回一个没有 ModifyAsync() 函数的IMessage 的函数
这是我的代码:
[Command("editmessage")]
public async Task EditMessage(string sMessageId, string TextMessage) {
ulong MessageId = Convert.ToUInt64(sMessageId);
var Message = Context.Channel.GetMessageAsync(MessageId);
await Message.ModifyAsync(msg => msg.Content = TextMessage); //This gives me an error because "IMessage" does not contain a definition for "ModifyAsync"
}
有没有办法从IMessage 到IUserMessage? (IUserMessage 如果有ModifyAsync() 功能)
原谅我的英语不好
【问题讨论】:
-
您可以强制转换,注意如果底层类型不是
IUserMessage,它将失败。您可以通过Message as IUserMessage进行转换。 -
我刚刚试了一下,非常适合我,非常感谢
-
你是对的,当我运行该命令时,它在
await Message.ModifyAsync(msg => msg.Content = TextMessage);中给我一个错误 -
我正在检查,当我转换时,它变为空
标签: c# discord.net