using (DiscordWebhookClient client = new DiscordWebhookClient(WEBHOOK_URL))
{
ulong z = 42342340290226;
client.ModifyMessageAsync(z);//Not sure how I would edit this message. The documentation is confusing.
}
我不知道如何使用这个ModifyMessage函数。另外,我需要使用异步函数吗?我只是在不使用任何ASYNC的情况下调用它。我不确定这是否可以。发送消息可以工作,但第二个功能我不确定如何工作。
正如其他人所说,您应该等待异步调用。这样可以确保操作以可预测的方式执行。我们的意图是立即执行,并等待行动的结果。
也就是说,discord文档对这种方法的描述如下:
public Task ModifyMessageAsync(ulong messageId, Action<WebhookMessageProperties> func, RequestOptions options = null)
第二个参数描述了基于WebhookMessageProperties的委托。它可以很容易地由lambda定义,比如:
x => { }
现在请记住,x是任意的,你可以选择你喜欢的任何名称,甚至是整个单词,我只是在这个例子中保持了简短。
在手镯之间,您可以使用x.SomeProperty访问WebhookMessageProperties类中的任何属性。其中SomeProperty必须是该类的已知属性(如果有意义的话(。
例如,已知的属性之一是:
string Content { get; set; }
以下是如何使用lambda来更改Content属性:
using (DiscordWebhookClient client = new DiscordWebhookClient(WEBHOOK_URL))
{
ulong z = 42342340290226;
await client.ModifyMessageAsync(z, x =>
{
x.Content = "This is the updated message content";
});
}
如果要同时更新多个属性,只需在lambda中添加另一行即可。