我的Discord机器人无法向嵌入消息添加反应,我遇到了一些问题。下面的"发送任何想法"是我迄今为止的代码
[Command("raid")]
public async Task DisplayPic(string raid, string date)
{
DateTime dateTime = DateTime.Parse(date);
string day = dateTime.ToString("ddd");
if (raid == "GoS" && day == "Fri")
{
// Emote emote = ":thumbsup:";
var filename = "Garden_of_Salvation_Friday.png";
var embed = new EmbedBuilder()
{
Title = "Garden of Salvation",
Description = "Must be Level 1230",
ImageUrl = $"attachment://{filename}"
}.Build();
var myReaction = new Emoji("👍");
await Context.Channel.SendFileAsync(filename, embed: embed);
await Context.Message.AddReactionAsync(myReaction);
}
}
要对机器人发送的消息执行操作,您需要将消息分配给这样的变量。
IUserMessage sentMessage = await Context.Channel.SendMessageAsync(...);
在您的情况下,您希望添加一个反应,因此可以使用AddReactionAsync方法,方法与在Context中使用方法相同。您提供的代码中的消息。
await sentMessage.AddReactionAsync(...);
在您的情况下,这应该可以工作。
var msg = await Context.Channel.SendFileAsync(filename, embed: embed);
msg.AddReactionAsync(new Emoji("👍"));