【问题标题】:Button interaction failed按钮交互失败
【发布时间】:2022-01-19 23:53:55
【问题描述】:

我遇到了问题,因为我在 ButtonClickEvent 中进行了操作,并且效果很好,但是当有人单击此按钮下的按钮时,我出现错误“此交互失败”,我必须使用按钮完成代码操作,否则我该怎么办?

声明按钮:

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();
                }
            }
        }
    }
}

图片:

【问题讨论】:

    标签: java discord discord-jda


    【解决方案1】:

    Discord 要求您确认按钮交互。这可以通过以下方式之一完成:

    • deferReply 回复“机器人正在考虑...”消息并稍后进行编辑
    • reply 回复消息
    • deferEdit 什么都不做(或稍后编辑)
    • editMessage 编辑按钮被点击的消息

    如果您只想确认按钮被点击,而不回复消息或编辑消息,您可以简单地使用event.deferEdit().queue();。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 2021-12-22
      相关资源
      最近更新 更多