繁体   English   中英

JDA 重写方法变灰

[英]JDA override method is grayed out

我正在尝试创建一个机器人来检查用户是否尝试进入新的语音通道,但是当尝试覆盖 onVoiceChannelUpdate 方法时,它保持灰色并给我错误,我没有参数类。

这是我用于此方法的代码:

@Override
public void onVoiceChannelUpdate(VoiceChannelUpdateEvent event) {
    User user = event.getUser();
    VoiceChannel oldVoiceChannel = event.getOldVoiceChannel();
    VoiceChannel newVoiceChannel = event.getNewVoiceChannel();
    if (checkUserVoiceChannelRequest(user, oldVoiceChannel)) {
        System.out.println(user.getName() + " has left the voice channel " + oldVoiceChannel.getName() + " and entered " + newVoiceChannel.getName() + ".");
    }
}

我尝试了多种方法,但所有方法都有完全相同的问题。 我之前有一些方法可以检查消息和所有这些并且它们有效,但是对于我使用的任何其他方法,参数类都不存在。

错误显示: 在此处输入图像描述

在此处输入图像描述

也尝试使用 onGuildVoiceUpdate 方法,但它有同样的问题: 在此处输入图像描述

你能试一下吗

public class Test extends ListenerAdapter {
    @Override
    public void onGuildVoiceUpdate(GuildVoiceUpdateEvent event) {
        AudioChannel oldChannel = event.getChannelLeft();
        AudioChannel newChannel = event.getChannelJoined();
    }
}

使用 JDA 5.0.0-beta.2。

如果这不起作用,则可能是您的 IDE 有问题,因此请尝试使您的缓存无效。

您正在寻找GuildVoiceUpdateEvent

@Override
public void onGuildVoiceUpdate(GuildVoiceUpdateEvent event) {
    AudioChannel oldChannel = event.getChannelLeft();
    AudioChannel newChannel = event.getChannelJoined();
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM