Merge branch 'jda-v5'
This commit is contained in:
commit
be6036cd5d
|
@ -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.
|
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>
|
<netbeans.hint.license>gpl30</netbeans.hint.license>
|
||||||
|
<org-netbeans-modules-javascript2-requirejs.enabled>true</org-netbeans-modules-javascript2-requirejs.enabled>
|
||||||
</properties>
|
</properties>
|
||||||
</project-shared-configuration>
|
</project-shared-configuration>
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -35,7 +35,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.dv8tion</groupId>
|
<groupId>net.dv8tion</groupId>
|
||||||
<artifactId>JDA</artifactId>
|
<artifactId>JDA</artifactId>
|
||||||
<version>4.3.0_277</version>
|
<version>5.0.0-beta.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-io</groupId>
|
<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.JDA;
|
||||||
import net.dv8tion.jda.api.JDABuilder;
|
import net.dv8tion.jda.api.JDABuilder;
|
||||||
import net.dv8tion.jda.api.entities.*;
|
import net.dv8tion.jda.api.entities.*;
|
||||||
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent;
|
import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
|
||||||
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
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.hooks.ListenerAdapter;
|
||||||
import net.dv8tion.jda.api.managers.AudioManager;
|
import net.dv8tion.jda.api.managers.AudioManager;
|
||||||
import net.dv8tion.jda.api.requests.GatewayIntent;
|
import net.dv8tion.jda.api.requests.GatewayIntent;
|
||||||
|
@ -61,7 +63,7 @@ public final class Chords extends ListenerAdapter
|
||||||
private final Command helpCommand;
|
private final Command helpCommand;
|
||||||
private PlayCommand playCommand;
|
private PlayCommand playCommand;
|
||||||
|
|
||||||
private VoiceChannel currentVoiceChannel = null;
|
private AudioChannel currentVoiceChannel = null;
|
||||||
|
|
||||||
private int trackNumber = 1;
|
private int trackNumber = 1;
|
||||||
|
|
||||||
|
@ -85,13 +87,15 @@ public final class Chords extends ListenerAdapter
|
||||||
GatewayIntent.GUILD_MESSAGES,
|
GatewayIntent.GUILD_MESSAGES,
|
||||||
// We need voice states to connect to the voice channel
|
// We need voice states to connect to the voice channel
|
||||||
GatewayIntent.GUILD_VOICE_STATES,
|
GatewayIntent.GUILD_VOICE_STATES,
|
||||||
GatewayIntent.GUILD_MEMBERS
|
GatewayIntent.GUILD_MEMBERS,
|
||||||
|
GatewayIntent.MESSAGE_CONTENT
|
||||||
);
|
);
|
||||||
|
|
||||||
settings = new Settings(new File(options.getSettingsPath()));
|
settings = new Settings(new File(options.getSettingsPath()));
|
||||||
|
|
||||||
JDABuilder builder = JDABuilder.createDefault(settings.getDiscordToken(), intents);
|
JDABuilder builder = JDABuilder.createDefault(settings.getDiscordToken(), intents);
|
||||||
|
|
||||||
|
builder.enableIntents(GatewayIntent.MESSAGE_CONTENT);
|
||||||
if (settings.getLocalAddr() != null)
|
if (settings.getLocalAddr() != null)
|
||||||
{
|
{
|
||||||
System.out.println("Using local address: " + settings.getLocalAddr());
|
System.out.println("Using local address: " + settings.getLocalAddr());
|
||||||
|
@ -178,21 +182,23 @@ public final class Chords extends ListenerAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuildVoiceLeave(GuildVoiceLeaveEvent event)
|
public void onGuildVoiceUpdate(GuildVoiceUpdateEvent event)
|
||||||
{
|
{
|
||||||
|
super.onGuildVoiceUpdate(event);
|
||||||
if (this.currentVoiceChannel == null)
|
if (this.currentVoiceChannel == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
final VoiceChannel channelLeft = event.getChannelLeft();
|
final AudioChannel channelLeft = event.getChannelLeft();
|
||||||
|
if (channelLeft != null && channelLeft == currentVoiceChannel)
|
||||||
if (channelLeft.getMembers().isEmpty())
|
{
|
||||||
if (channelLeft == currentVoiceChannel)
|
if (channelLeft.getMembers().isEmpty())
|
||||||
disconnect();
|
disconnect();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
Message message = event.getMessage();
|
||||||
User author = message.getAuthor();
|
User author = message.getAuthor();
|
||||||
String content = message.getContentRaw();
|
String content = message.getContentRaw();
|
||||||
|
@ -309,7 +315,7 @@ public final class Chords extends ListenerAdapter
|
||||||
* @param channel
|
* @param channel
|
||||||
* The channel to connect to
|
* The channel to connect to
|
||||||
*/
|
*/
|
||||||
public void connectTo(VoiceChannel channel)
|
public void connectTo(AudioChannel channel)
|
||||||
{
|
{
|
||||||
Guild guild = channel.getGuild();
|
Guild guild = channel.getGuild();
|
||||||
// Get an audio manager for this guild, this will be created upon first use for each guild
|
// 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;
|
return jda;
|
||||||
}
|
}
|
||||||
|
|
||||||
public VoiceChannel getCurrentVoiceChannel()
|
public AudioChannel getCurrentVoiceChannel()
|
||||||
{
|
{
|
||||||
return currentVoiceChannel;
|
return currentVoiceChannel;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,8 @@ package moe.nekojimi.chords.commands;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import net.dv8tion.jda.api.entities.Message;
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.requests.restaction.MessageAction;
|
import net.dv8tion.jda.api.requests.restaction.MessageCreateAction;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -31,16 +31,16 @@ public class Invocation
|
||||||
private Message requestMessage;
|
private Message requestMessage;
|
||||||
private Message responseMessage;
|
private Message responseMessage;
|
||||||
|
|
||||||
private final GuildMessageReceivedEvent event;
|
private final MessageReceivedEvent event;
|
||||||
private final List<String> args;
|
private final List<String> args;
|
||||||
|
|
||||||
public Invocation(GuildMessageReceivedEvent event, List<String> args)
|
public Invocation(MessageReceivedEvent event, List<String> args)
|
||||||
{
|
{
|
||||||
this.event = event;
|
this.event = event;
|
||||||
this.args = args;
|
this.args = args;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GuildMessageReceivedEvent getEvent()
|
public MessageReceivedEvent getEvent()
|
||||||
{
|
{
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
@ -53,17 +53,14 @@ public class Invocation
|
||||||
@SuppressWarnings("null")
|
@SuppressWarnings("null")
|
||||||
public void respond(String text)
|
public void respond(String text)
|
||||||
{
|
{
|
||||||
MessageAction action = null;
|
|
||||||
|
|
||||||
if (responseMessage == null)
|
if (responseMessage == null)
|
||||||
{
|
{
|
||||||
action = requestMessage.reply(text);
|
responseMessage = requestMessage.reply(text).complete();
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
action = responseMessage.editMessage(text);
|
responseMessage = responseMessage.editMessage(text).complete();
|
||||||
}
|
}
|
||||||
|
|
||||||
responseMessage = action.complete();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Message getRequestMessage()
|
public Message getRequestMessage()
|
||||||
|
|
|
@ -8,7 +8,9 @@ package moe.nekojimi.chords.commands;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import moe.nekojimi.chords.Chords;
|
import moe.nekojimi.chords.Chords;
|
||||||
import net.dv8tion.jda.api.entities.*;
|
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
|
public class JoinCommand extends Command
|
||||||
{
|
{
|
||||||
|
@ -21,9 +23,9 @@ public class JoinCommand extends Command
|
||||||
@Override
|
@Override
|
||||||
public void call(Invocation invocation)
|
public void call(Invocation invocation)
|
||||||
{
|
{
|
||||||
GuildMessageReceivedEvent event = invocation.getEvent();
|
MessageReceivedEvent event = invocation.getEvent();
|
||||||
List<String> args = invocation.getArgs();
|
List<String> args = invocation.getArgs();
|
||||||
TextChannel textChannel = event.getChannel();
|
MessageChannel textChannel = event.getChannel();
|
||||||
VoiceChannel channel = null;
|
VoiceChannel channel = null;
|
||||||
if (args.isEmpty() || args.get(0).isBlank())
|
if (args.isEmpty() || args.get(0).isBlank())
|
||||||
{
|
{
|
||||||
|
@ -31,8 +33,8 @@ public class JoinCommand extends Command
|
||||||
if (member != null)
|
if (member != null)
|
||||||
{
|
{
|
||||||
GuildVoiceState voiceState = member.getVoiceState();
|
GuildVoiceState voiceState = member.getVoiceState();
|
||||||
if (voiceState != null && voiceState.inVoiceChannel())
|
if (voiceState != null && voiceState.inAudioChannel())
|
||||||
channel = voiceState.getChannel();
|
channel = voiceState.getChannel().asVoiceChannel();
|
||||||
}
|
}
|
||||||
if (channel == null)
|
if (channel == null)
|
||||||
{
|
{
|
||||||
|
@ -82,7 +84,7 @@ public class JoinCommand extends Command
|
||||||
* @param textChannel
|
* @param textChannel
|
||||||
* The text channel to send the message in
|
* 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()!
|
textChannel.sendMessage("Connecting to " + channel.getName()).queue(); // never forget to queue()!
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,7 @@
|
||||||
*/
|
*/
|
||||||
package moe.nekojimi.chords.commands;
|
package moe.nekojimi.chords.commands;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import moe.nekojimi.chords.Chords;
|
import moe.nekojimi.chords.Chords;
|
||||||
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
|
||||||
|
|
||||||
public class LeaveCommand extends Command
|
public class LeaveCommand extends Command
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue