java - 未为 Guild 类型定义 JDA setSendingHandler

标签 java discord

我正在使用 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/

相关文章:

java - JTable 不改变外观

java - 我的代码没有使用 Parse Query 从 parse.com 提取信息

javascript - 创建角色,然后将该角色分配给成员不起作用,是否有更好的方法来处理这个问题? Discord.js

python - 使用 pandas 时 Discord.gateway 警告 "Shard ID None heartbeat blocked for more than 10 seconds."

c# - 在Linux上运行用C#编写的raspberry pi discord bot?

java - 如何控制 "back button queue"上的 Activity

java - 模糊快速字符串匹配和索引算法

java - HTTP 状态 404 - 未找到 Servlet

node.js - Discord Oauth2 加入公会

javascript - Discord.js - 如何在一台服务器中切换命令?