Добавление реакции на существующие сообщение

Мне нужна помощь с discord.net, мне нужно добавить реакцию на уже существующие сообщение. Единственный способ(других не нашел) это RestUserMessage, вот его построение await message.AddReactionAsync(emoji);. Вопрос в том что я не знаю как определить переменную message?

Пробовал это способ https://stackoverflow.com/questions/46740554/discord-net-adding-reactions-to-a-socketmessage. Но выдает ошибку "Message not found".


Ответы (1 шт):

Автор решения: brezz

Нашел ответ:

Для начала создаем метод.

private async Task MessageReaction(ISocketMessageChannel channel, ulong msgId, string emojiId)

В методе определяем сообщение к которому хотим добавить реакцию.

var msg = await channel.GetMessageAsync(msgId);

Так же проверяем сообщение.

var usermsg = msg as IUserMessage;
if (channel == null) { return; }

Создаем переменную "емодзи" и добавляем к сообщению.

Emoji emoji = new Emoji(emojiId); // Сайт с EMODJI ID https://www.fileformat.info/info/emoji/list.htm
await usermsg.AddReactionAsync(emoji);

PS: Полный код:

[Command("react")]
private async Task MessageReaction(ISocketMessageChannel channel, ulong msgId, string emojiId)
{
    // Определение msg
    var msg = await channel.GetMessageAsync(msgId);

    // Проверка сообщения
    var usermsg = msg as IUserMessage;
    if (channel == null) { return; }

    // Создание переменной "емодзи"
    Emoji emoji = new Emoji(emojiId); // Сайт с EMODJI ID https://www.fileformat.info/info/emoji/list.htm

    // Прикрепление эмоджи к сообщению
    await usermsg.AddReactionAsync(emoji);
}
→ Ссылка