我有问题,因为我在 ButtonClickEvent 中制作了 smth 并且它运行良好但是当有人单击此按钮下的按钮时我出现错误“此交互失败”,我必须使用按钮完成代码操作或者我可以用它做什么?
声明按钮:
channel.sendFile(file,"paint.png").setEmbeds(embed.build()).setActionRow(Button.success("veryfication","VERYFI!")).queue();
和 ButtonClickEvent:
public void onButtonClick(ButtonClickEvent e){
if(e.getButton() != null) {
if (e.getButton().getId().equalsIgnoreCase("veryfication")) {
final Member member = e.getMember();
if (member != null && member.getRoles() != null) {
if (!member.getRoles().contains(e.getGuild().getRoleById("920701070831939669"))) {
e.getGuild().addRoleToMember(member, e.getGuild().getRoleById("920701070831939669")).queue();
}
}
}
}
}
图片:
最佳答案
Discord 要求您确认按钮交互。这可以通过以下方式之一完成:
- deferReply 回复“bot is thinking...”消息并稍后编辑
- reply 回复消息
- deferEdit 什么也不做(或稍后编辑)
- editMessage 编辑单击按钮的消息
如果您只想确认按钮被点击,而不用消息响应或编辑消息,您可以简单地使用 event.deferEdit().queue();
。
关于java - 按钮交互失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70386672/