我执行命令〜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(); } } }
我需要将反应添加到嵌入消息中
您可以在的回调中访问已发送的消息,queue()并在其中添加反应:
queue()
channel.sendMessage(embed).queue(message -> message.addReaction(reaction).queue());
要添加多个问题,您可以使用多行lambda:
channel.sendMessage(embed).queue(message -> { message.addReaction(reaction1).queue(); message.addReaction(reaction2).queue(); message.addReaction(reaction3).queue(); });
同样也没有理由清除EmbedBuilder它,因为它不会在您的代码中再次使用。生成器通常不是需要关闭/清除的资源,除非您再次使用它们并且不希望以前的设置。
EmbedBuilder