我正在发送带有EntiySelectMenu的临时消息.当用户 Select 此菜单中的项目时,我需要将短暂消息的内容更改为类似于"ABC"的文本. 我试着这样做:

在实体 Select 交互中

event.deferEdit().queue(); // defer editing to make sure menu is disabled
event.getHook().retrieveOriginal().queue(message -> { // get original message
    String content = "abc";
    message.editMessage(content).queue(); // update message content
});

但这会编辑附加了临时消息的消息的文本,但不会编辑临时消息本身. 都会感激你的帮助.

推荐答案

您必须使用getHook()编辑消息.例如:

event.deferEdit().queue();
event.getHook().editOriginal("abc").queue();

改为使用消息,将使用bot端点而不是交互端点.

Java相关问答推荐

Java 8 RDX-如何设置单个选项卡标题文本的 colored颜色

如何将kotlin代码转换为java

Character::Emoji不支持带数字的字符吗?

为什么我要创建一个单独的互斥体/锁对象?

与Spring Boot相关的实体未正确保存

我如何知道MediaDiscoverer何时完成发现介质?

如何仅使用键/ID的一部分(组合)高效地返回映射值?

带有Health Check的Spring Boot BuildPack打破了本机映像构建过程

try 使用Spring集成和MySQL实现发件箱模式时,锁定等待超时

Java堆中的许多java.time.ZoneRegion实例.ZoneId实例不应该被缓存吗?

为什么StandardOpenOption.CREATE不能通过Ubuntu在中小企业上运行?

如何在@CsvSource中传递空格作为值

AbstractList保证溢出到其他方法

如何在EL处理器中定义带有命名空间的变量?

Java中HashSet的搜索时间与TreeSet的搜索时间

JavaFX:无论何时显示应用程序,如何更改组件/ node 位置?

在Oracle中调用输出参数在索引处缺少IN或OUT参数的函数

未调用OnBackPressedCallback-Activitiy立即终止

Spring Mapstruct如何获取Lazy初始化实体字段的信息?

如何使用命令行为Java应用程序生成烟雾测试用例