我正在使用 JDA (Java) 创建一个用于 Discord 的机器人。我在尝试让我的机器人在我的语音 channel 中播放音乐时遇到问题。
问题出在下面的代码
public static void startPlaying(net.dv8tion.jda.core.entities.Guild guild) {
//Player player = getMyURLPlayer(guild.getJDA());
FilePlayer player = getMyFilePlayer();
//DiscordBot.bot.getAudioManager(guild).setSendingHandler(player);
guild.setSendingHandler(player);
System.out.println("Player.play is getting executed...");
player.play();
}
在上面的代码中,根据eclipse,以下行是不正确的
guild.setSendingHandler(player);
上面是这么说的
The method setSendingHandler(FilePlayer) is undefined for the type Guild
最佳答案
我假设您正在引用 http://jda.readthedocs.io/en/latest/pages/audio.html根据您发布的代码。该网站上的文档已经过时了。它不仅不完整并且稍微不正确,而且它也适用于 JDA 1.x。 JDA 目前处于 3.x 版本,并且已经发生了重大变化。
此外,FilePlayer(和 URLPlayer)已从 JDA 中完全删除,因为它们是不完整且存在轻微错误的示例。为了正确实现 AudioSendHandler
和玩家系统,考虑使用 Lavaplayer .
Lavaplayer 有一个 JDA 的示例目录 here
如果您有任何疑问,请随时加入JDA Discord Guild并询问。还有一个专门用于 Lavaplayer 支持的 channel 。
关于java - 未为 Guild 类型定义 JDA setSendingHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592276/