Добавление реакции на существующие сообщение
Мне нужна помощь с 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);
}