2017-09-07 72 views
2

我试图编辑我的机器人发送的消息,但我似乎无法自己找到任何答案。对于上下文,旧消息是一个“等待”消息,直到我使用的API检索到我想要的数据。新消息是收到的数据。Discord.Net 1.0如何使用ModifyAsync /如何修改消息的内容

这是我目前的解决方案:

var msg = await ReplyAsync("old message"); 

//... unrelated code ...  

await msg.DeleteAsync(); 
await ReplyAsync("new message"); 

ModifyAsync();的参数是Action<MessageProperties> funct, [RequestOptions options]

我试图用我自己的ModifyAsync();,无济于事。

我想要做的就是修改消息的内容,并且我所做的所有研究都会导致Discord.Net库的早期版本。

我该如何正确地做到这一点?

回答

1

我做了一些研究,发现这一点:https://github.com/RogueException/Discord.Net/issues/474

我知道这是不是修改的消息,但你可以做到这一点是相同的:

var Message = await Context.Channel.SendMessageAsync("test message"); 

await Message.ModifyAsync(msg => msg.Content = "test [edited]"); 
+0

此方法实际上不起作用。这是返回的错误消息:'名为'msg'的本地或参数不能在此作用域中声明,因为该名称在封闭的本地作用域中用于定义本地或参数' – xubiod

+0

此解决方案确实有效,错误是由你的结局。您可能有一个与另一个相同的变量名称。 – Unknown

+0

https://stackoverflow.com/questions/6156449/why-cant-a-duplicate-variable-name-be-declared-in-a-nested-local-scope看看这个链接,它应该是有用的。 @xubiod – Unknown

0
await Context.Channel.SendMessageAsync("Test."); 
await Context.Message.ModifyAsync(m => { m.Content = "Test [Edited]."; }); 

我希望帮助

相关问题