Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在尝试改进涉及EventWater的代码_Java_Discord_Bots - Fatal编程技术网

Java 正在尝试改进涉及EventWater的代码

Java 正在尝试改进涉及EventWater的代码,java,discord,bots,Java,Discord,Bots,是否有可能以这样的方式编写以下代码,即在消息之后开始等待 我在尝试这样做时发现的问题是,return语句必须出现在waterer代码之前,这不起作用 当前发布的代码是我解决该问题的方法,但感觉很脏: event.getUser().openPrivateChannel() .flatMap(channel -> { channel.sendMessage("What was your deci

是否有可能以这样的方式编写以下代码,即在消息之后开始等待

我在尝试这样做时发现的问题是,return语句必须出现在waterer代码之前,这不起作用

当前发布的代码是我解决该问题的方法,但感觉很脏:

event.getUser().openPrivateChannel()
                    .flatMap(channel -> {
                        channel.sendMessage("What was your decision? ")
                                .delay(60, TimeUnit.SECONDS)
                                    .flatMap(Message::delete).queue();

                        // waiter
                        waiter.waitForEvent(MessageReceivedEvent.class, e -> e.getAuthor().getId().equals(curatorID)
                                && e.getChannel().equals(channel), e -> {
                            // switch depending on decision
                            System.out.println("this is a test");

                        });

                        return channel.sendMessage("(y/n)");

                    }).delay(60, TimeUnit.SECONDS)
                            .flatMap(Message::delete).queue();
注意:我将在设置的时间段后将waitForEvent更改为cancel(以便与消息消失相对应,我将此设置为59秒)

提前感谢任何能够提供帮助/澄清的人