Merge branch 'jda-v5'

master
Nekojimi 2 years ago
commit be6036cd5d
  1. 1
      nb-configuration.xml
  2. 2
      pom.xml
  3. 3
      settings.yml
  4. 30
      src/main/java/moe/nekojimi/chords/Chords.java
  5. 17
      src/main/java/moe/nekojimi/chords/commands/Invocation.java
  6. 14
      src/main/java/moe/nekojimi/chords/commands/JoinCommand.java
  7. 2
      src/main/java/moe/nekojimi/chords/commands/LeaveCommand.java

@ -14,5 +14,6 @@ That way multiple projects can share the same settings (useful for formatting ru
Any value defined here will override the pom.xml file value but is only applicable to the current project.
-->
<netbeans.hint.license>gpl30</netbeans.hint.license>
<org-netbeans-modules-javascript2-requirejs.enabled>true</org-netbeans-modules-javascript2-requirejs.enabled>
</properties>
</project-shared-configuration>

@ -35,7 +35,7 @@
<dependency>
<groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId>
<version>4.3.0_277</version>
<version>5.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>

@ -0,0 +1,3 @@
ytdl-cmd: /usr/bin/yt-dlp
discord-token: ODkwNjU5MjI2NDE2OTg0MDY0.YUzBCw.jHZWpIZSYeaYA7Sc7h93W_jV-rk
local-addr: 192.168.1.84

@ -27,8 +27,10 @@ import moe.nekojimi.musicsearcher.providers.Searcher;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.*;
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceUpdateEvent;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.dv8tion.jda.api.managers.AudioManager;
import net.dv8tion.jda.api.requests.GatewayIntent;
@ -61,7 +63,7 @@ public final class Chords extends ListenerAdapter
private final Command helpCommand;
private PlayCommand playCommand;
private VoiceChannel currentVoiceChannel = null;
private AudioChannel currentVoiceChannel = null;
private int trackNumber = 1;
@ -85,13 +87,15 @@ public final class Chords extends ListenerAdapter
GatewayIntent.GUILD_MESSAGES,
// We need voice states to connect to the voice channel
GatewayIntent.GUILD_VOICE_STATES,
GatewayIntent.GUILD_MEMBERS
GatewayIntent.GUILD_MEMBERS,
GatewayIntent.MESSAGE_CONTENT
);
settings = new Settings(new File(options.getSettingsPath()));
JDABuilder builder = JDABuilder.createDefault(settings.getDiscordToken(), intents);
builder.enableIntents(GatewayIntent.MESSAGE_CONTENT);
if (settings.getLocalAddr() != null)
{
System.out.println("Using local address: " + settings.getLocalAddr());
@ -178,21 +182,23 @@ public final class Chords extends ListenerAdapter
}
@Override
public void onGuildVoiceLeave(GuildVoiceLeaveEvent event)
public void onGuildVoiceUpdate(GuildVoiceUpdateEvent event)
{
super.onGuildVoiceUpdate(event);
if (this.currentVoiceChannel == null)
return;
final VoiceChannel channelLeft = event.getChannelLeft();
final AudioChannel channelLeft = event.getChannelLeft();
if (channelLeft != null && channelLeft == currentVoiceChannel)
{
if (channelLeft.getMembers().isEmpty())
if (channelLeft == currentVoiceChannel)
disconnect();
}
}
@Override
public void onGuildMessageReceived(GuildMessageReceivedEvent event)
public void onMessageReceived(MessageReceivedEvent event)
{
super.onMessageReceived(event); //To change body of generated methods, choose Tools | Templates.
Message message = event.getMessage();
User author = message.getAuthor();
String content = message.getContentRaw();
@ -309,7 +315,7 @@ public final class Chords extends ListenerAdapter
* @param channel
* The channel to connect to
*/
public void connectTo(VoiceChannel channel)
public void connectTo(AudioChannel channel)
{
Guild guild = channel.getGuild();
// Get an audio manager for this guild, this will be created upon first use for each guild
@ -398,7 +404,7 @@ public final class Chords extends ListenerAdapter
return jda;
}
public VoiceChannel getCurrentVoiceChannel()
public AudioChannel getCurrentVoiceChannel()
{
return currentVoiceChannel;
}

@ -18,8 +18,8 @@ package moe.nekojimi.chords.commands;
import java.util.List;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.requests.restaction.MessageAction;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.requests.restaction.MessageCreateAction;
/**
*
@ -31,16 +31,16 @@ public class Invocation
private Message requestMessage;
private Message responseMessage;
private final GuildMessageReceivedEvent event;
private final MessageReceivedEvent event;
private final List<String> args;
public Invocation(GuildMessageReceivedEvent event, List<String> args)
public Invocation(MessageReceivedEvent event, List<String> args)
{
this.event = event;
this.args = args;
}
public GuildMessageReceivedEvent getEvent()
public MessageReceivedEvent getEvent()
{
return event;
}
@ -53,17 +53,14 @@ public class Invocation
@SuppressWarnings("null")
public void respond(String text)
{
MessageAction action = null;
if (responseMessage == null)
{
action = requestMessage.reply(text);
responseMessage = requestMessage.reply(text).complete();
} else
{
action = responseMessage.editMessage(text);
responseMessage = responseMessage.editMessage(text).complete();
}
responseMessage = action.complete();
}
public Message getRequestMessage()

@ -8,7 +8,9 @@ package moe.nekojimi.chords.commands;
import java.util.List;
import moe.nekojimi.chords.Chords;
import net.dv8tion.jda.api.entities.*;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
public class JoinCommand extends Command
{
@ -21,9 +23,9 @@ public class JoinCommand extends Command
@Override
public void call(Invocation invocation)
{
GuildMessageReceivedEvent event = invocation.getEvent();
MessageReceivedEvent event = invocation.getEvent();
List<String> args = invocation.getArgs();
TextChannel textChannel = event.getChannel();
MessageChannel textChannel = event.getChannel();
VoiceChannel channel = null;
if (args.isEmpty() || args.get(0).isBlank())
{
@ -31,8 +33,8 @@ public class JoinCommand extends Command
if (member != null)
{
GuildVoiceState voiceState = member.getVoiceState();
if (voiceState != null && voiceState.inVoiceChannel())
channel = voiceState.getChannel();
if (voiceState != null && voiceState.inAudioChannel())
channel = voiceState.getChannel().asVoiceChannel();
}
if (channel == null)
{
@ -82,7 +84,7 @@ public class JoinCommand extends Command
* @param textChannel
* The text channel to send the message in
*/
public void onConnecting(VoiceChannel channel, TextChannel textChannel)
public void onConnecting(VoiceChannel channel, MessageChannel textChannel)
{
textChannel.sendMessage("Connecting to " + channel.getName()).queue(); // never forget to queue()!
}

@ -5,9 +5,7 @@
*/
package moe.nekojimi.chords.commands;
import java.util.List;
import moe.nekojimi.chords.Chords;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
public class LeaveCommand extends Command
{

Loading…
Cancel
Save