Как добавить реакцию на встроенное сообщение JDA - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь отправить и вставить сообщение, когда я выполняю команду ~ verify, а затем оно отправляет сообщение вставки, и я не могу найти, как добавить туда реакцию.

Я уже вставил сообщение и отправил его, но могу добавить реакцию


import Main.Bot;
import net.dv8tion.jda.core.EmbedBuilder;
import net.dv8tion.jda.core.MessageBuilder;
import net.dv8tion.jda.core.entities.Message;
import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;

import java.awt.*;

public class Verify extends ListenerAdapter {



    @Override
    public void onGuildMessageReceived(GuildMessageReceivedEvent e){
        if(e.getAuthor().isBot()) return;

        if(e.getMessage().getContentRaw().equalsIgnoreCase(Bot.prefix+"verify")){
            EmbedBuilder embedBuilder = new EmbedBuilder();
            embedBuilder.setColor(Color.red);
            embedBuilder.setTitle("Verify yourself!");
            embedBuilder.addField("How?","Press the ✔ reaction to verify",false);
            embedBuilder.setFooter("Created by SlayZBro#3501",e.getGuild().getIconUrl());

            e.getChannel().sendTyping().queue();
            e.getChannel().sendMessage(embedBuilder.build()).queue();
            embedBuilder.clear();


        }
    }


}

Мне нужно добавить реакцию к сообщению для вставки

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Вы можете получить доступ к отправленному сообщению в обратном вызове для queue() и добавить туда реакции:

channel.sendMessage(embed).queue(message -> message.addReaction(reaction).queue());

Также нет причин очищать EmbedBuilder, поскольку оно больше не будет использоваться вваш код.Обычно сборщики не являются ресурсами, которые необходимо закрывать / очищать, если вы не используете их снова и не хотите использовать предыдущие настройки.

0 голосов
/ 25 июня 2019

Я понял, как это сделать. Просто нужно добавить эту строку

 e.getChannel().sendMessage(embedBuilder.build()).complete().addReaction("✔").queue();
...