diff --git a/src/examples/java/AudioEchoExample.java b/src/examples/java/AudioEchoExample.java
index a3a6c97a20..3b4a404bde 100644
--- a/src/examples/java/AudioEchoExample.java
+++ b/src/examples/java/AudioEchoExample.java
@@ -20,6 +20,9 @@
import net.dv8tion.jda.api.audio.AudioSendHandler;
import net.dv8tion.jda.api.audio.CombinedAudio;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.dv8tion.jda.api.managers.AudioManager;
diff --git a/src/examples/java/MessageLoggerExample.java b/src/examples/java/MessageLoggerExample.java
index 089a421b69..727af84466 100644
--- a/src/examples/java/MessageLoggerExample.java
+++ b/src/examples/java/MessageLoggerExample.java
@@ -17,9 +17,9 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.Activity;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
diff --git a/src/examples/java/SlashBotExample.java b/src/examples/java/SlashBotExample.java
index 629174e928..15253b3e2d 100644
--- a/src/examples/java/SlashBotExample.java
+++ b/src/examples/java/SlashBotExample.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java
index 2516fa5aa9..ffd1d904b2 100644
--- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java
+++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java
@@ -57,7 +57,7 @@ public class EmbedBuilder
/**
* Constructs a new EmbedBuilder instance, which can be used to create {@link net.dv8tion.jda.api.entities.MessageEmbed MessageEmbeds}.
- * These can then be sent to a channel using {@link net.dv8tion.jda.api.entities.MessageChannel#sendMessageEmbeds(MessageEmbed, MessageEmbed...)}.
+ * These can then be sent to a channel using {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#sendMessageEmbeds(MessageEmbed, MessageEmbed...)}.
* Every part of an embed can be removed or cleared by providing {@code null} to the setter method.
*/
public EmbedBuilder() { }
@@ -432,7 +432,7 @@ public EmbedBuilder setColor(int color)
*
*
Uploading images with Embeds
* When uploading an image
- * (using {@link net.dv8tion.jda.api.entities.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
+ * (using {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
* you can reference said image using the specified filename as URI {@code attachment://filename.ext}.
*
*
Example
@@ -479,7 +479,7 @@ public EmbedBuilder setThumbnail(@Nullable String url)
*
*
Uploading images with Embeds
* When uploading an image
- * (using {@link net.dv8tion.jda.api.entities.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
+ * (using {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
* you can reference said image using the specified filename as URI {@code attachment://filename.ext}.
*
*
Example
@@ -504,7 +504,7 @@ public EmbedBuilder setThumbnail(@Nullable String url)
*
* @return the builder after the image has been set
*
- * @see net.dv8tion.jda.api.entities.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)
+ * @see net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)
*/
@Nonnull
public EmbedBuilder setImage(@Nullable String url)
@@ -580,7 +580,7 @@ public EmbedBuilder setAuthor(@Nullable String name, @Nullable String url)
*
*
Uploading images with Embeds
* When uploading an image
- * (using {@link net.dv8tion.jda.api.entities.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
+ * (using {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
* you can reference said image using the specified filename as URI {@code attachment://filename.ext}.
*
*
Example
@@ -660,7 +660,7 @@ public EmbedBuilder setFooter(@Nullable String text)
*
*
Uploading images with Embeds
* When uploading an image
- * (using {@link net.dv8tion.jda.api.entities.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
+ * (using {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#sendFiles(net.dv8tion.jda.api.utils.FileUpload...) MessageChannel.sendFiles(...)})
* you can reference said image using the specified filename as URI {@code attachment://filename.ext}.
*
*
Example
diff --git a/src/main/java/net/dv8tion/jda/api/JDA.java b/src/main/java/net/dv8tion/jda/api/JDA.java
index 5ab678125c..aa5534c44b 100644
--- a/src/main/java/net/dv8tion/jda/api/JDA.java
+++ b/src/main/java/net/dv8tion/jda/api/JDA.java
@@ -17,7 +17,11 @@
package net.dv8tion.jda.api;
import net.dv8tion.jda.api.entities.*;
-import net.dv8tion.jda.api.entities.channel.IGuildChannelContainer;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.attribute.IGuildChannelContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.api.entities.sticker.*;
import net.dv8tion.jda.api.hooks.IEventManager;
@@ -1244,7 +1248,7 @@ default T getChannelById(@Nonnull Class type, long id)
/**
* {@link net.dv8tion.jda.api.utils.cache.SnowflakeCacheView SnowflakeCacheView} of
- * all cached {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannels} visible to this JDA session.
+ * all cached {@link PrivateChannel PrivateChannels} visible to this JDA session.
*
* @return {@link net.dv8tion.jda.api.utils.cache.SnowflakeCacheView SnowflakeCacheView}
*/
@@ -1252,14 +1256,14 @@ default T getChannelById(@Nonnull Class type, long id)
SnowflakeCacheView getPrivateChannelCache();
/**
- * An unmodifiable list of all known {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannels}.
+ * An unmodifiable list of all known {@link PrivateChannel PrivateChannels}.
*
* This copies the backing store into a list. This means every call
* creates a new list with O(n) complexity. It is recommended to store this into
* a local variable or use {@link #getPrivateChannelCache()} and use its more efficient
* versions of handling these values.
*
- * @return Possibly-empty list of all {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannels}.
+ * @return Possibly-empty list of all {@link PrivateChannel PrivateChannels}.
*/
@Nonnull
default List getPrivateChannels()
@@ -1268,16 +1272,16 @@ default List getPrivateChannels()
}
/**
- * This returns the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} which has the same id as the one provided.
- * If there is no known {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with an id that matches the provided
+ * This returns the {@link PrivateChannel PrivateChannel} which has the same id as the one provided.
+ * If there is no known {@link PrivateChannel PrivateChannel} with an id that matches the provided
* one, then this returns {@code null}.
*
* @param id
- * The id of the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}.
+ * The id of the {@link PrivateChannel PrivateChannel}.
* @throws java.lang.NumberFormatException
* If the provided {@code id} cannot be parsed by {@link Long#parseLong(String)}
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with matching id.
+ * @return Possibly-null {@link PrivateChannel PrivateChannel} with matching id.
*/
@Nullable
default PrivateChannel getPrivateChannelById(@Nonnull String id)
@@ -1286,14 +1290,14 @@ default PrivateChannel getPrivateChannelById(@Nonnull String id)
}
/**
- * This returns the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} which has the same id as the one provided.
- * If there is no known {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with an id that matches the provided
+ * This returns the {@link PrivateChannel PrivateChannel} which has the same id as the one provided.
+ * If there is no known {@link PrivateChannel PrivateChannel} with an id that matches the provided
* one, then this returns {@code null}.
*
* @param id
- * The id of the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}.
+ * The id of the {@link PrivateChannel PrivateChannel}.
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with matching id.
+ * @return Possibly-null {@link PrivateChannel PrivateChannel} with matching id.
*/
@Nullable
default PrivateChannel getPrivateChannelById(long id)
@@ -1382,7 +1386,7 @@ default RestAction openPrivateChannelById(@Nonnull String userId
*
* Hint : To check whether you can use an {@link RichCustomEmoji} in a specific
* context you can use {@link RichCustomEmoji#canInteract(net.dv8tion.jda.api.entities.Member)} or {@link
- * RichCustomEmoji#canInteract(net.dv8tion.jda.api.entities.User, net.dv8tion.jda.api.entities.MessageChannel)}
+ * RichCustomEmoji#canInteract(net.dv8tion.jda.api.entities.User, MessageChannel)}
*
*
Unicode emojis are not included as {@link RichCustomEmoji Custom Emoji}!
*
diff --git a/src/main/java/net/dv8tion/jda/api/JDABuilder.java b/src/main/java/net/dv8tion/jda/api/JDABuilder.java
index f0c7c20ad3..d28ce8255e 100644
--- a/src/main/java/net/dv8tion/jda/api/JDABuilder.java
+++ b/src/main/java/net/dv8tion/jda/api/JDABuilder.java
@@ -19,6 +19,7 @@
import net.dv8tion.jda.api.audio.factory.IAudioSendFactory;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.events.Event;
+import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.hooks.IEventManager;
import net.dv8tion.jda.api.hooks.VoiceDispatchInterceptor;
import net.dv8tion.jda.api.requests.GatewayIntent;
@@ -29,7 +30,6 @@
import net.dv8tion.jda.internal.managers.PresenceImpl;
import net.dv8tion.jda.internal.utils.Checks;
import net.dv8tion.jda.internal.utils.IOUtil;
-import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.internal.utils.config.AuthorizationConfig;
import net.dv8tion.jda.internal.utils.config.MetaConfig;
import net.dv8tion.jda.internal.utils.config.SessionConfig;
diff --git a/src/main/java/net/dv8tion/jda/api/Permission.java b/src/main/java/net/dv8tion/jda/api/Permission.java
index cdd683c6a8..3a68b95a8b 100644
--- a/src/main/java/net/dv8tion/jda/api/Permission.java
+++ b/src/main/java/net/dv8tion/jda/api/Permission.java
@@ -197,7 +197,7 @@ public boolean isChannel()
}
/**
- * Whether this permission is specifically for {@link net.dv8tion.jda.api.entities.TextChannel TextChannels}
+ * Whether this permission is specifically for {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel TextChannels}
*
* @return True, if and only if this permission can only be applied to text channels
*/
@@ -207,7 +207,7 @@ public boolean isText()
}
/**
- * Whether this permission is specifically for {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannels}
+ * Whether this permission is specifically for {@link net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel VoiceChannels}
*
* @return True, if and only if this permission can only be applied to voice channels
*/
diff --git a/src/main/java/net/dv8tion/jda/api/Region.java b/src/main/java/net/dv8tion/jda/api/Region.java
index 4e16d4ff0e..b459836a18 100644
--- a/src/main/java/net/dv8tion/jda/api/Region.java
+++ b/src/main/java/net/dv8tion/jda/api/Region.java
@@ -20,8 +20,8 @@
/**
* Represents the Regions used for Audio connections.
- * This is used by {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannels} to define where the audio server that hosts the
- * {@link net.dv8tion.jda.api.entities.AudioChannel} is located.
+ * This is used by {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannels} to define where the audio server that hosts the
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel} is located.
*/
public enum Region
{
diff --git a/src/main/java/net/dv8tion/jda/api/audio/factory/IPacketProvider.java b/src/main/java/net/dv8tion/jda/api/audio/factory/IPacketProvider.java
index f8f6f624a8..472603b602 100644
--- a/src/main/java/net/dv8tion/jda/api/audio/factory/IPacketProvider.java
+++ b/src/main/java/net/dv8tion/jda/api/audio/factory/IPacketProvider.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.audio.factory;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
-import net.dv8tion.jda.api.entities.AudioChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -49,7 +49,7 @@ public interface IPacketProvider
/**
* Provides the current channel that this connection is transmitting to.
*
- * @return The {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} that this connection is sending to.
+ * @return The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} that this connection is sending to.
*/
@Nonnull
AudioChannel getConnectedChannel();
diff --git a/src/main/java/net/dv8tion/jda/api/audit/ActionType.java b/src/main/java/net/dv8tion/jda/api/audit/ActionType.java
index e2993c1254..bdeaa39bca 100644
--- a/src/main/java/net/dv8tion/jda/api/audit/ActionType.java
+++ b/src/main/java/net/dv8tion/jda/api/audit/ActionType.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.api.audit;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
/**
@@ -447,7 +447,7 @@ public enum ActionType
INTEGRATION_DELETE(82, TargetType.INTEGRATION),
/**
- * A {@link net.dv8tion.jda.api.entities.StageInstance StageInstance} was started by a {@link net.dv8tion.jda.api.entities.StageChannel#isModerator(Member) Stage Moderator}.
+ * A {@link net.dv8tion.jda.api.entities.StageInstance StageInstance} was started by a {@link net.dv8tion.jda.api.entities.channel.concrete.StageChannel#isModerator(Member) Stage Moderator}.
*
*
Possible Options
*
@@ -463,7 +463,7 @@ public enum ActionType
STAGE_INSTANCE_CREATE(83, TargetType.STAGE_INSTANCE),
/**
- * A {@link net.dv8tion.jda.api.entities.StageInstance StageInstance} was updated by a {@link net.dv8tion.jda.api.entities.StageChannel#isModerator(Member) Stage Moderator}.
+ * A {@link net.dv8tion.jda.api.entities.StageInstance StageInstance} was updated by a {@link net.dv8tion.jda.api.entities.channel.concrete.StageChannel#isModerator(Member) Stage Moderator}.
*
* Possible Options
*
@@ -479,7 +479,7 @@ public enum ActionType
STAGE_INSTANCE_UPDATE(84, TargetType.STAGE_INSTANCE),
/**
- * A {@link net.dv8tion.jda.api.entities.StageInstance StageInstance} was deleted by a {@link net.dv8tion.jda.api.entities.StageChannel#isModerator(Member) Stage Moderator}.
+ * A {@link net.dv8tion.jda.api.entities.StageInstance StageInstance} was deleted by a {@link net.dv8tion.jda.api.entities.channel.concrete.StageChannel#isModerator(Member) Stage Moderator}.
*
* Possible Options
*
@@ -529,7 +529,7 @@ public enum ActionType
STICKER_DELETE(92, TargetType.STICKER),
/**
- * A user created a {@link net.dv8tion.jda.api.entities.ThreadChannel ThreadChannel}
+ * A user created a {@link net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel ThreadChannel}
*
* Possible Keys
*
@@ -545,7 +545,7 @@ public enum ActionType
THREAD_CREATE(110, TargetType.THREAD),
/**
- * A user updated a {@link net.dv8tion.jda.api.entities.ThreadChannel ThreadChannel}
+ * A user updated a {@link net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel ThreadChannel}
*
* Possible Keys
*
@@ -561,7 +561,7 @@ public enum ActionType
THREAD_UPDATE(111, TargetType.THREAD),
/**
- * A user deleted a {@link net.dv8tion.jda.api.entities.ThreadChannel ThreadChannel}
+ * A user deleted a {@link net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel ThreadChannel}
*/
THREAD_DELETE(112, TargetType.THREAD),
diff --git a/src/main/java/net/dv8tion/jda/api/audit/AuditLogKey.java b/src/main/java/net/dv8tion/jda/api/audit/AuditLogKey.java
index f38d2b53f6..5b4bfc18af 100644
--- a/src/main/java/net/dv8tion/jda/api/audit/AuditLogKey.java
+++ b/src/main/java/net/dv8tion/jda/api/audit/AuditLogKey.java
@@ -17,9 +17,12 @@
package net.dv8tion.jda.api.audit;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.ICategorizableChannel;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.api.entities.sticker.GuildSticker;
@@ -213,32 +216,32 @@ public enum AuditLogKey
CHANNEL_PARENT("parent_id"),
/**
- * Change of the {@link net.dv8tion.jda.api.entities.TextChannel#getTopic() TextChannel.getTopic()} value.
- * Only for {@link net.dv8tion.jda.api.entities.ChannelType#TEXT ChannelType.TEXT}
+ * Change of the {@link TextChannel#getTopic() TextChannel.getTopic()} value.
+ * Only for {@link ChannelType#TEXT ChannelType.TEXT}
*
* Expected type: String
*/
CHANNEL_TOPIC("topic"),
/**
- * Change of the {@link net.dv8tion.jda.api.entities.TextChannel#getSlowmode() TextChannel.getSlowmode()} value.
- * Only for {@link net.dv8tion.jda.api.entities.ChannelType#TEXT ChannelType.TEXT}
+ * Change of the {@link TextChannel#getSlowmode() TextChannel.getSlowmode()} value.
+ * Only for {@link ChannelType#TEXT ChannelType.TEXT}
*
*
Expected type: Integer
*/
CHANNEL_SLOWMODE("rate_limit_per_user"),
/**
- * Change of the {@link net.dv8tion.jda.api.entities.VoiceChannel#getBitrate() VoiceChannel.getBitrate()} value.
- * Only for {@link net.dv8tion.jda.api.entities.ChannelType#VOICE ChannelType.VOICE}
+ * Change of the {@link VoiceChannel#getBitrate() VoiceChannel.getBitrate()} value.
+ * Only for {@link ChannelType#VOICE ChannelType.VOICE}
*
*
Expected type: Integer
*/
CHANNEL_BITRATE("bitrate"),
/**
- * Change of the {@link net.dv8tion.jda.api.entities.VoiceChannel#getUserLimit() VoiceChannel.getUserLimit()} value.
- * Only for {@link net.dv8tion.jda.api.entities.ChannelType#VOICE ChannelType.VOICE}
+ * Change of the {@link VoiceChannel#getUserLimit() VoiceChannel.getUserLimit()} value.
+ * Only for {@link ChannelType#VOICE ChannelType.VOICE}
*
*
Expected type: Integer
*/
@@ -253,7 +256,7 @@ public enum AuditLogKey
/**
* Change of the {@link net.dv8tion.jda.api.Region Region} value.
- * Only for {@link net.dv8tion.jda.api.entities.ChannelType#VOICE ChannelType.VOICE} and {@link net.dv8tion.jda.api.entities.ChannelType#STAGE ChannelType.STAGE}
+ * Only for {@link ChannelType#VOICE ChannelType.VOICE} and {@link ChannelType#STAGE ChannelType.STAGE}
*
*
Expected type: String
*/
@@ -261,7 +264,7 @@ public enum AuditLogKey
/**
* The integer type of this channel.
- * Use with {@link net.dv8tion.jda.api.entities.ChannelType#fromId(int) ChannelType.fromId(int)}.
+ * Use with {@link ChannelType#fromId(int) ChannelType.fromId(int)}.
*
* Expected type: int
*/
@@ -277,14 +280,14 @@ public enum AuditLogKey
// THREADS
/**
- * Change of the {@link net.dv8tion.jda.api.entities.ThreadChannel#getName() ThreadChannel.getName()} value.
+ * Change of the {@link ThreadChannel#getName() ThreadChannel.getName()} value.
*
*
Expected type: String
*/
THREAD_NAME("name"),
/**
- * Change of the {@link net.dv8tion.jda.api.entities.ThreadChannel#getSlowmode() ThreadChannel.getSlowmode()} value.
+ * Change of the {@link ThreadChannel#getSlowmode() ThreadChannel.getSlowmode()} value.
*
*
Expected type: Integer
*/
diff --git a/src/main/java/net/dv8tion/jda/api/audit/AuditLogOption.java b/src/main/java/net/dv8tion/jda/api/audit/AuditLogOption.java
index 6bcfd0c53a..f736ddf4be 100644
--- a/src/main/java/net/dv8tion/jda/api/audit/AuditLogOption.java
+++ b/src/main/java/net/dv8tion/jda/api/audit/AuditLogOption.java
@@ -43,7 +43,7 @@ public enum AuditLogOption
/**
* Possible message id for actions of type {@link ActionType#MESSAGE_PIN} and {@link ActionType#MESSAGE_UNPIN}.
- * Use with {@link net.dv8tion.jda.api.entities.MessageChannel#retrieveMessageById(String)}.
+ * Use with {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#retrieveMessageById(String)}.
*
*
Expected type: String
*/
diff --git a/src/main/java/net/dv8tion/jda/api/entities/Guild.java b/src/main/java/net/dv8tion/jda/api/entities/Guild.java
index b977aa1f30..df7cf4aca9 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/Guild.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/Guild.java
@@ -21,7 +21,13 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.channel.IGuildChannelContainer;
+import net.dv8tion.jda.api.entities.channel.attribute.ICopyableChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.IGuildChannelContainer;
+import net.dv8tion.jda.api.entities.channel.attribute.IInviteContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.DefaultGuildChannelUnion;
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
@@ -823,35 +829,35 @@ default int getMaxEmojis()
RestAction retrieveMetaData();
/**
- * Provides the {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel} that has been set as the channel
+ * Provides the {@link VoiceChannel VoiceChannel} that has been set as the channel
* which {@link net.dv8tion.jda.api.entities.Member Members} will be moved to after they have been inactive in a
- * {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel} for longer than {@link #getAfkTimeout()}.
+ * {@link VoiceChannel VoiceChannel} for longer than {@link #getAfkTimeout()}.
* If no channel has been set as the AFK channel, this returns {@code null}.
*
* This value can be modified using {@link GuildManager#setAfkChannel(VoiceChannel)}.
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel} that is the AFK Channel.
+ * @return Possibly-null {@link VoiceChannel VoiceChannel} that is the AFK Channel.
*/
@Nullable
VoiceChannel getAfkChannel();
/**
- * Provides the {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} that has been set as the channel
+ * Provides the {@link TextChannel TextChannel} that has been set as the channel
* which newly joined {@link net.dv8tion.jda.api.entities.Member Members} will be announced in.
* If no channel has been set as the system channel, this returns {@code null}.
*
* This value can be modified using {@link GuildManager#setSystemChannel(TextChannel)}.
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} that is the system Channel.
+ * @return Possibly-null {@link TextChannel TextChannel} that is the system Channel.
*/
@Nullable
TextChannel getSystemChannel();
/**
- * Provides the {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} that lists the rules of the guild.
+ * Provides the {@link TextChannel TextChannel} that lists the rules of the guild.
* If this guild doesn't have the COMMUNITY {@link #getFeatures() feature}, this returns {@code null}.
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} that is the rules channel
+ * @return Possibly-null {@link TextChannel TextChannel} that is the rules channel
*
* @see #getFeatures()
*/
@@ -859,10 +865,10 @@ default int getMaxEmojis()
TextChannel getRulesChannel();
/**
- * Provides the {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} that receives community updates.
+ * Provides the {@link TextChannel TextChannel} that receives community updates.
* If this guild doesn't have the COMMUNITY {@link #getFeatures() feature}, this returns {@code null}.
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} that is the community updates channel
+ * @return Possibly-null {@link TextChannel TextChannel} that is the community updates channel
*
* @see #getFeatures()
*/
@@ -915,7 +921,7 @@ default String getOwnerId()
/**
* The {@link net.dv8tion.jda.api.entities.Guild.Timeout Timeout} set for this Guild representing the amount of time
- * that must pass for a Member to have had no activity in a {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel}
+ * that must pass for a Member to have had no activity in a {@link VoiceChannel VoiceChannel}
* to be considered AFK. If {@link #getAfkChannel()} is not {@code null} (thus an AFK channel has been set) then Member
* will be automatically moved to the AFK channel after they have been inactive for longer than the returned Timeout.
* Default is {@link Timeout#SECONDS_300 300 seconds (5 minutes)}.
@@ -1985,14 +1991,14 @@ default RestAction retrieveEmoji(@Nonnull CustomEmoji emoji)
Role getPublicRole();
/**
- * The default {@link net.dv8tion.jda.api.entities.StandardGuildChannel} for a {@link net.dv8tion.jda.api.entities.Guild Guild}.
+ * The default {@link StandardGuildChannel} for a {@link net.dv8tion.jda.api.entities.Guild Guild}.
* This is the channel that the Discord client will default to opening when a Guild is opened for the first time when accepting an invite
* that is not directed at a specific {@link IInviteContainer channel}.
*
* Note: This channel is the first channel in the guild (ordered by position) that the {@link #getPublicRole()}
* has the {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL} in.
*
- * @return The {@link net.dv8tion.jda.api.entities.StandardGuildChannel channel} representing the default channel for this guild
+ * @return The {@link StandardGuildChannel channel} representing the default channel for this guild
*/
@Nullable
DefaultGuildChannelUnion getDefaultChannel();
@@ -2237,7 +2243,7 @@ default RestAction retrieveEmoji(@Nonnull CustomEmoji emoji)
* Retrieves all {@link net.dv8tion.jda.api.entities.Webhook Webhooks} for this Guild.
* Requires {@link net.dv8tion.jda.api.Permission#MANAGE_WEBHOOKS MANAGE_WEBHOOKS} in this Guild.
*
- * To get all webhooks for a specific {@link net.dv8tion.jda.api.entities.TextChannel TextChannel}, use
+ *
To get all webhooks for a specific {@link TextChannel TextChannel}, use
* {@link TextChannel#retrieveWebhooks()}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
@@ -2934,8 +2940,8 @@ default Task> retrieveMembersByIds(boolean includePresence, @Nonnul
/* From GuildController */
/**
- * Used to move a {@link net.dv8tion.jda.api.entities.Member Member} from one {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}
- * to another {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}.
+ * Used to move a {@link net.dv8tion.jda.api.entities.Member Member} from one {@link AudioChannel AudioChannel}
+ * to another {@link AudioChannel AudioChannel}.
* As a note, you cannot move a Member that isn't already in a AudioChannel. Also they must be in a AudioChannel
* in the same Guild as the one that you are moving them to.
*
@@ -2958,7 +2964,7 @@ default Task> retrieveMembersByIds(boolean includePresence, @Nonnul
* @param member
* The {@link net.dv8tion.jda.api.entities.Member Member} that you are moving.
* @param audioChannel
- * The destination {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} to which the member is being
+ * The destination {@link AudioChannel AudioChannel} to which the member is being
* moved to. Or null to perform a voice kick.
*
* @throws IllegalStateException
@@ -2984,7 +2990,7 @@ default Task> retrieveMembersByIds(boolean includePresence, @Nonnul
RestAction moveVoiceMember(@Nonnull Member member, @Nullable AudioChannel audioChannel);
/**
- * Used to kick a {@link net.dv8tion.jda.api.entities.Member Member} from a {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}.
+ * Used to kick a {@link net.dv8tion.jda.api.entities.Member Member} from a {@link AudioChannel AudioChannel}.
* As a note, you cannot kick a Member that isn't already in a AudioChannel. Also they must be in a AudioChannel
* in the same Guild.
*
@@ -3869,7 +3875,7 @@ default AuditableRestAction modifyMemberRoles(@Nonnull Member member, @Non
AuditableRestAction transferOwnership(@Nonnull Member newOwner);
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} in this Guild.
+ * Creates a new {@link TextChannel TextChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -3901,7 +3907,7 @@ default ChannelAction createTextChannel(@Nonnull String name)
}
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} in this Guild.
+ * Creates a new {@link TextChannel TextChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -3933,7 +3939,7 @@ default ChannelAction createTextChannel(@Nonnull String name)
ChannelAction createTextChannel(@Nonnull String name, @Nullable Category parent);
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.NewsChannel NewsChannel} in this Guild.
+ * Creates a new {@link NewsChannel NewsChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -3965,7 +3971,7 @@ default ChannelAction createNewsChannel(@Nonnull String name)
}
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.NewsChannel NewsChannel} in this Guild.
+ * Creates a new {@link NewsChannel NewsChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -3997,7 +4003,7 @@ default ChannelAction createNewsChannel(@Nonnull String name)
ChannelAction createNewsChannel(@Nonnull String name, @Nullable Category parent);
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel} in this Guild.
+ * Creates a new {@link VoiceChannel VoiceChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission.
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -4029,7 +4035,7 @@ default ChannelAction createVoiceChannel(@Nonnull String name)
}
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel} in this Guild.
+ * Creates a new {@link VoiceChannel VoiceChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission.
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -4061,7 +4067,7 @@ default ChannelAction createVoiceChannel(@Nonnull String name)
ChannelAction createVoiceChannel(@Nonnull String name, @Nullable Category parent);
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.StageChannel StageChannel} in this Guild.
+ * Creates a new {@link StageChannel StageChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission.
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -4093,7 +4099,7 @@ default ChannelAction createStageChannel(@Nonnull String name)
}
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.StageChannel StageChannel} in this Guild.
+ * Creates a new {@link StageChannel StageChannel} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission.
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -4125,7 +4131,7 @@ default ChannelAction createStageChannel(@Nonnull String name)
ChannelAction createStageChannel(@Nonnull String name, @Nullable Category parent);
/**
- * Creates a new {@link net.dv8tion.jda.api.entities.Category Category} in this Guild.
+ * Creates a new {@link Category Category} in this Guild.
* For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} Permission.
*
* Possible {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} caused by
@@ -4420,7 +4426,7 @@ default AuditableRestAction createSticker(@Nonnull String name, @N
* The currently logged in account was removed from the Guild
*
*
- * @return {@link net.dv8tion.jda.api.requests.restaction.order.ChannelOrderAction ChannelOrderAction} - Type: {@link net.dv8tion.jda.api.entities.Category Category}
+ * @return {@link net.dv8tion.jda.api.requests.restaction.order.ChannelOrderAction ChannelOrderAction} - Type: {@link Category Category}
*/
@Nonnull
@CheckReturnValue
@@ -4442,7 +4448,7 @@ default AuditableRestAction createSticker(@Nonnull String name, @N
* The currently logged in account was removed from the Guild
*
*
- * @return {@link ChannelOrderAction ChannelOrderAction} - Type: {@link net.dv8tion.jda.api.entities.TextChannel TextChannel}
+ * @return {@link ChannelOrderAction ChannelOrderAction} - Type: {@link TextChannel TextChannel}
*/
@Nonnull
@CheckReturnValue
@@ -4464,17 +4470,17 @@ default AuditableRestAction createSticker(@Nonnull String name, @N
* The currently logged in account was removed from the Guild
*
*
- * @return {@link ChannelOrderAction ChannelOrderAction} - Type: {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel}
+ * @return {@link ChannelOrderAction ChannelOrderAction} - Type: {@link VoiceChannel VoiceChannel}
*/
@Nonnull
@CheckReturnValue
ChannelOrderAction modifyVoiceChannelPositions();
/**
- * Modifies the positional order of {@link net.dv8tion.jda.api.entities.Category#getTextChannels() Category#getTextChannels()}
+ * Modifies the positional order of {@link Category#getTextChannels() Category#getTextChannels()}
* using an extension of {@link ChannelOrderAction ChannelOrderAction}
- * specialized for ordering the nested {@link net.dv8tion.jda.api.entities.TextChannel TextChannels} of this
- * {@link net.dv8tion.jda.api.entities.Category Category}.
+ * specialized for ordering the nested {@link TextChannel TextChannels} of this
+ * {@link Category Category}.
* Like {@code ChannelOrderAction}, the returned {@link net.dv8tion.jda.api.requests.restaction.order.CategoryOrderAction CategoryOrderAction}
* can be used to move TextChannels {@link net.dv8tion.jda.api.requests.restaction.order.OrderAction#moveUp(int) up},
* {@link net.dv8tion.jda.api.requests.restaction.order.OrderAction#moveDown(int) down}, or
@@ -4491,20 +4497,20 @@ default AuditableRestAction createSticker(@Nonnull String name, @N
*
*
* @param category
- * The {@link net.dv8tion.jda.api.entities.Category Category} to order
- * {@link net.dv8tion.jda.api.entities.TextChannel TextChannels} from.
+ * The {@link Category Category} to order
+ * {@link TextChannel TextChannels} from.
*
- * @return {@link net.dv8tion.jda.api.requests.restaction.order.CategoryOrderAction CategoryOrderAction} - Type: {@link net.dv8tion.jda.api.entities.TextChannel TextChannel}
+ * @return {@link net.dv8tion.jda.api.requests.restaction.order.CategoryOrderAction CategoryOrderAction} - Type: {@link TextChannel TextChannel}
*/
@Nonnull
@CheckReturnValue
CategoryOrderAction modifyTextChannelPositions(@Nonnull Category category);
/**
- * Modifies the positional order of {@link net.dv8tion.jda.api.entities.Category#getVoiceChannels() Category#getVoiceChannels()}
+ * Modifies the positional order of {@link Category#getVoiceChannels() Category#getVoiceChannels()}
* using an extension of {@link ChannelOrderAction ChannelOrderAction}
- * specialized for ordering the nested {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannels} of this
- * {@link net.dv8tion.jda.api.entities.Category Category}.
+ * specialized for ordering the nested {@link VoiceChannel VoiceChannels} of this
+ * {@link Category Category}.
* Like {@code ChannelOrderAction}, the returned {@link CategoryOrderAction CategoryOrderAction}
* can be used to move VoiceChannels {@link net.dv8tion.jda.api.requests.restaction.order.OrderAction#moveUp(int) up},
* {@link net.dv8tion.jda.api.requests.restaction.order.OrderAction#moveDown(int) down}, or
@@ -4521,10 +4527,10 @@ default AuditableRestAction createSticker(@Nonnull String name, @N
*
*
* @param category
- * The {@link net.dv8tion.jda.api.entities.Category Category} to order
- * {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannels} from.
+ * The {@link Category Category} to order
+ * {@link VoiceChannel VoiceChannels} from.
*
- * @return {@link CategoryOrderAction CategoryOrderAction} - Type: {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannels}
+ * @return {@link CategoryOrderAction CategoryOrderAction} - Type: {@link VoiceChannel VoiceChannels}
*/
@Nonnull
@CheckReturnValue
@@ -4598,7 +4604,7 @@ default RoleOrderAction modifyRolePositions()
/**
* Represents the idle time allowed until a user is moved to the
- * AFK {@link net.dv8tion.jda.api.entities.VoiceChannel} if one is set
+ * AFK {@link VoiceChannel} if one is set
* ({@link net.dv8tion.jda.api.entities.Guild#getAfkChannel() Guild.getAfkChannel()}).
*/
enum Timeout
diff --git a/src/main/java/net/dv8tion/jda/api/entities/GuildVoiceState.java b/src/main/java/net/dv8tion/jda/api/entities/GuildVoiceState.java
index 2066653572..4b86af2c01 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/GuildVoiceState.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/GuildVoiceState.java
@@ -17,6 +17,9 @@
package net.dv8tion.jda.api.entities;
import net.dv8tion.jda.api.JDA;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.requests.RestAction;
import javax.annotation.CheckReturnValue;
@@ -87,7 +90,7 @@ public interface GuildVoiceState extends ISnowflake
/**
* Returns true if this {@link net.dv8tion.jda.api.entities.Member Member} is unable to speak because the
* channel is actively suppressing audio communication. This occurs in
- * {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannels} where the Member either doesn't have
+ * {@link VoiceChannel VoiceChannels} where the Member either doesn't have
* {@link net.dv8tion.jda.api.Permission#VOICE_SPEAK Permission#VOICE_SPEAK} or if the channel is the
* designated AFK channel.
* This is also used by {@link StageChannel StageChannels} for listeners without speaker approval.
@@ -114,9 +117,9 @@ public interface GuildVoiceState extends ISnowflake
boolean isSendingVideo();
/**
- * Returns the current {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} that the {@link net.dv8tion.jda.api.entities.Member Member}
+ * Returns the current {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} that the {@link net.dv8tion.jda.api.entities.Member Member}
* is in. If the {@link net.dv8tion.jda.api.entities.Member Member} is currently not in a
- * {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}, this returns null.
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}, this returns null.
*
* @return The AudioChannel that the Member is in, or null.
*/
@@ -142,11 +145,11 @@ public interface GuildVoiceState extends ISnowflake
Member getMember();
/**
- * Used to determine if the {@link net.dv8tion.jda.api.entities.Member Member} is currently in an {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}
+ * Used to determine if the {@link net.dv8tion.jda.api.entities.Member Member} is currently in an {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}
* in the {@link net.dv8tion.jda.api.entities.Guild Guild} returned from {@link #getGuild() getGuild()}.
* If this is {@code false}, {@link #getChannel() getChannel()} will return {@code null}.
*
- * @return True, if the {@link net.dv8tion.jda.api.entities.Member Member} is currently in a {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}
+ * @return True, if the {@link net.dv8tion.jda.api.entities.Member Member} is currently in a {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}
* in this {@link net.dv8tion.jda.api.entities.Guild Guild}.
*/
boolean inAudioChannel();
diff --git a/src/main/java/net/dv8tion/jda/api/entities/IPermissionHolder.java b/src/main/java/net/dv8tion/jda/api/entities/IPermissionHolder.java
index e1bdf3d8cb..0202b39f75 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/IPermissionHolder.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/IPermissionHolder.java
@@ -17,6 +17,8 @@
package net.dv8tion.jda.api.entities;
import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.internal.utils.Checks;
import javax.annotation.Nonnull;
@@ -188,7 +190,7 @@ default boolean hasAccess(@Nonnull GuildChannel channel)
* @param targetChannel
* The target channel to check
* @param syncSource
- * The sync source, for example the parent category (see {@link ICategorizableChannel#getParentCategory()})
+ * The sync source, for example the parent category (see {@link net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel#getParentCategory()})
*
* @throws IllegalArgumentException
* If either of the channels is null or not from the same guild as this permission holder
diff --git a/src/main/java/net/dv8tion/jda/api/entities/Invite.java b/src/main/java/net/dv8tion/jda/api/entities/Invite.java
index af4d0eb9c9..9ced26ed0c 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/Invite.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/Invite.java
@@ -18,6 +18,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild.VerificationLevel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.requests.restaction.AuditableRestAction;
import net.dv8tion.jda.api.utils.ImageProxy;
@@ -41,7 +42,7 @@
* @see #resolve(JDA, String, boolean)
*
* @see net.dv8tion.jda.api.entities.Guild#retrieveInvites() Guild.retrieveInvites()
- * @see IInviteContainer#retrieveInvites()
+ * @see net.dv8tion.jda.api.entities.channel.attribute.IInviteContainer#retrieveInvites()
*/
public interface Invite
{
@@ -297,7 +298,7 @@ default String getUrl()
* Whether this Invite is expanded or not. Expanded invites contain more information, but they can only be
* obtained by {@link net.dv8tion.jda.api.entities.Guild#retrieveInvites() Guild#retrieveInvites()} (requires
* {@link net.dv8tion.jda.api.Permission#MANAGE_SERVER Permission.MANAGE_SERVER}) or
- * {@link IInviteContainer#retrieveInvites() IInviteContainer#retrieveInvites()} (requires
+ * {@link net.dv8tion.jda.api.entities.channel.attribute.IInviteContainer#retrieveInvites() IInviteContainer#retrieveInvites()} (requires
* {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL Permission.MANAGE_CHANNEL}).
*
* There is a convenience method {@link #expand()} to get the expanded invite for an unexpanded one.
@@ -339,8 +340,8 @@ interface Channel extends ISnowflake
String getName();
/**
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} of this channel.
- * Valid values are only {@link net.dv8tion.jda.api.entities.ChannelType#TEXT TEXT} or {@link net.dv8tion.jda.api.entities.ChannelType#VOICE VOICE}
+ * The {@link ChannelType ChannelType} of this channel.
+ * Valid values are only {@link ChannelType#TEXT TEXT} or {@link ChannelType#VOICE VOICE}
*
* @return The channel's type
*/
diff --git a/src/main/java/net/dv8tion/jda/api/entities/Mentions.java b/src/main/java/net/dv8tion/jda/api/entities/Mentions.java
index aff7dddb06..8ac0704183 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/Mentions.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/Mentions.java
@@ -17,6 +17,8 @@
package net.dv8tion.jda.api.entities;
import net.dv8tion.jda.api.JDA;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
import org.apache.commons.collections4.Bag;
@@ -90,7 +92,7 @@ public interface Mentions
Bag getUsersBag();
/**
- * An immutable list of all mentioned {@link net.dv8tion.jda.api.entities.GuildChannel GuildChannels}.
+ * An immutable list of all mentioned {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel GuildChannels}.
* If none were mentioned, this list is empty. Elements are sorted in order of appearance.
*
* This may include GuildChannels from other {@link net.dv8tion.jda.api.entities.Guild Guilds}
@@ -132,7 +134,7 @@ public interface Mentions
Bag getChannelsBag();
/**
- * An immutable list of all mentioned {@link net.dv8tion.jda.api.entities.GuildChannel GuildChannels} of type {@code clazz}.
+ * An immutable list of all mentioned {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel GuildChannels} of type {@code clazz}.
* If none were mentioned, this list is empty. Elements are sorted in order of appearance.
*
* This may include GuildChannels from other {@link net.dv8tion.jda.api.entities.Guild Guilds}
diff --git a/src/main/java/net/dv8tion/jda/api/entities/Message.java b/src/main/java/net/dv8tion/jda/api/entities/Message.java
index 4803ab60d0..1488a5ab32 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/Message.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/Message.java
@@ -19,6 +19,10 @@
import net.dv8tion.jda.annotations.ReplaceWith;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildMessageChannelUnion;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
@@ -71,7 +75,7 @@
/**
* Represents a Text message received from Discord.
- * This represents messages received from {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannels}.
+ * This represents messages received from {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannels}.
*
*
This type is not updated. JDA does not keep track of changes to messages, it is advised to do this via events such
* as {@link net.dv8tion.jda.api.events.message.MessageUpdateEvent MessageUpdateEvent} and similar.
@@ -298,7 +302,7 @@ default Message getReferencedMessage()
/**
* The {@link Mentions} used in this message.
*
- *
This includes {@link Member Members}, {@link GuildChannel GuildChannels}, {@link Role Roles}, and {@link CustomEmoji CustomEmojis}.
+ *
This includes {@link Member Members}, {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel GuildChannels}, {@link Role Roles}, and {@link CustomEmoji CustomEmojis}.
* Can also be used to check if a message mentions {@code @everyone} or {@code @here}.
*
*
Example
@@ -344,7 +348,7 @@ default Message getReferencedMessage()
* You can check the type of channel this message was sent from using {@link #isFromType(ChannelType)} or {@link #getChannelType()}.
*
*
Discord does not provide a member object for messages returned by {@link RestAction RestActions} of any kind.
- * This will return null if the message was retrieved through {@link MessageChannel#retrieveMessageById(long)} or similar means,
+ * This will return null if the message was retrieved through {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#retrieveMessageById(long)} or similar means,
* unless the member is already cached.
*
* @return Message author, or {@code null} if the message was not sent in a GuildMessageChannel, or if the message was sent by a Webhook.
@@ -371,7 +375,7 @@ default Message getReferencedMessage()
*
This includes resolving:
* {@link User Users} / {@link net.dv8tion.jda.api.entities.Member Members}
* to their @Username/@Nickname format,
- * {@link net.dv8tion.jda.api.entities.GuildChannel GuildChannels} to their #ChannelName format,
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel GuildChannels} to their #ChannelName format,
* {@link net.dv8tion.jda.api.entities.Role Roles} to their @RoleName format
* {@link CustomEmoji Custom Emojis} (not unicode emojis!) to their {@code :name:} format.
*
@@ -438,15 +442,15 @@ default Message getReferencedMessage()
String getNonce();
/**
- * Used to determine if this Message was received from a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}
- * of the {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} specified.
+ * Used to determine if this Message was received from a {@link MessageChannel}
+ * of the {@link net.dv8tion.jda.api.entities.channel.ChannelType ChannelType} specified.
*
*
Useful for restricting functionality to a certain type of channels.
*
* @param type
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} to check against.
+ * The {@link ChannelType ChannelType} to check against.
*
- * @return True if the {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} which this message was received
+ * @return True if the {@link net.dv8tion.jda.api.entities.channel.ChannelType ChannelType} which this message was received
* from is the same as the one specified by {@code type}.
*/
boolean isFromType(@Nonnull ChannelType type);
@@ -463,7 +467,7 @@ default boolean isFromGuild()
}
/**
- * Gets the {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} that this message was received from.
+ * Gets the {@link net.dv8tion.jda.api.entities.channel.ChannelType ChannelType} that this message was received from.
*
* @return The ChannelType which this message was received from.
*/
@@ -480,7 +484,7 @@ default boolean isFromGuild()
boolean isWebhookMessage();
/**
- * Returns the {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel} that this message was sent in.
+ * Returns the {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel} that this message was sent in.
*
* @return The MessageChannel of this Message
*/
@@ -488,7 +492,7 @@ default boolean isFromGuild()
MessageChannelUnion getChannel();
/**
- * Returns the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} that this message was sent in
+ * Returns the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel GuildMessageChannel} that this message was sent in
* if it was sent in a Guild.
*
* @throws java.lang.IllegalStateException
@@ -500,23 +504,23 @@ default boolean isFromGuild()
GuildMessageChannelUnion getGuildChannel();
/**
- * The {@link net.dv8tion.jda.api.entities.Category Category} this
+ * The {@link Category Category} this
* message was sent in. This will always be {@code null} for DMs.
- * Equivalent to {@code getGuildChannel().getParentCategory()} if this was sent in a {@link GuildMessageChannel}.
+ * Equivalent to {@code getGuildChannel().getParentCategory()} if this was sent in a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel}.
*
- * @return {@link net.dv8tion.jda.api.entities.Category Category} for this message
+ * @return {@link net.dv8tion.jda.api.entities.channel.concrete.Category Category} for this message
*/
@Nullable
Category getCategory();
/**
* Returns the {@link net.dv8tion.jda.api.entities.Guild Guild} that this message was sent in.
- * This is just a shortcut to {@link #getGuildChannel()}{@link net.dv8tion.jda.api.entities.GuildChannel#getGuild() .getGuild()}.
+ * This is just a shortcut to {@link #getGuildChannel()}{@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel#getGuild() .getGuild()}.
* This is only valid if the Message was actually sent in a GuildMessageChannel.
* You can check the type of channel this message was sent from using {@link #isFromType(ChannelType)} or {@link #getChannelType()}.
*
* @throws java.lang.IllegalStateException
- * If this was not sent in a {@link net.dv8tion.jda.api.entities.GuildChannel}.
+ * If this was not sent in a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}.
*
* @return The Guild this message was sent in
*
@@ -695,7 +699,7 @@ default List getButtonsByLabel(@Nonnull String label, boolean ignoreCase
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -732,7 +736,7 @@ default List getButtonsByLabel(@Nonnull String label, boolean ignoreCase
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -770,7 +774,7 @@ default List getButtonsByLabel(@Nonnull String label, boolean ignoreCase
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -811,7 +815,7 @@ default List getButtonsByLabel(@Nonnull String label, boolean ignoreCase
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -855,7 +859,7 @@ default MessageEditAction editMessageEmbeds(@Nonnull MessageEmbed... embeds)
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -895,7 +899,7 @@ default MessageEditAction editMessageEmbeds(@Nonnull MessageEmbed... embeds)
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -939,7 +943,7 @@ default MessageEditAction editMessageComponents(@Nonnull LayoutComponent... comp
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -961,7 +965,7 @@ default MessageEditAction editMessageComponents(@Nonnull LayoutComponent... comp
* @throws IllegalStateException
* If the message is not authored by this bot
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* @throws java.util.IllegalFormatException
* If a format string contains an illegal syntax,
@@ -990,7 +994,7 @@ default MessageEditAction editMessageComponents(@Nonnull LayoutComponent... comp
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1035,7 +1039,7 @@ default MessageEditAction editMessageComponents(@Nonnull LayoutComponent... comp
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1352,23 +1356,23 @@ default MessageCreateAction replyFiles(@Nonnull Collection extends FileUpload>
/**
* Deletes this Message from Discord.
* If this Message was not sent by the currently logged in account, then this will fail unless the Message is from
- * a {@link GuildChannel} and the current account has
+ * a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel} and the current account has
* {@link Permission#MESSAGE_MANAGE Permission.MESSAGE_MANAGE} in the channel.
*
- * To delete many messages at once in a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}
- * you should use {@link net.dv8tion.jda.api.entities.MessageChannel#purgeMessages(List) MessageChannel.purgeMessages(List)} instead.
+ *
To delete many messages at once in a {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}
+ * you should use {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#purgeMessages(List) MessageChannel.purgeMessages(List)} instead.
*
*
The following {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} are possible:
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
- * The delete was attempted after the account lost access to the {@link GuildChannel}
+ * The delete was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}
* due to {@link Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL} being revoked, or the
* account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The delete was attempted after the account lost {@link Permission#MESSAGE_MANAGE Permission.MESSAGE_MANAGE} in
- * the {@link GuildChannel} when deleting another Member's message
+ * the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel} when deleting another Member's message
* or lost {@link Permission#MESSAGE_MANAGE}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
@@ -1376,24 +1380,24 @@ default MessageCreateAction replyFiles(@Nonnull Collection extends FileUpload>
*
*
* @throws MissingAccessException
- * If the currently logged in account does not have {@link Member#hasAccess(GuildChannel) access} in this channel.
+ * If the currently logged in account does not have {@link Member#hasAccess(net.dv8tion.jda.api.entities.channel.middleman.GuildChannel) access} in this channel.
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
* If this Message was not sent by the currently logged in account, the Message was sent in a
- * {@link GuildChannel GuildChannel}, and the currently logged in account
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel GuildChannel}, and the currently logged in account
* does not have {@link Permission#MESSAGE_MANAGE Permission.MESSAGE_MANAGE} in
* the channel.
* @throws java.lang.IllegalStateException
*
* If this Message was not sent by the currently logged in account and it was not sent in a
- * {@link GuildChannel GuildChannel}.
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel GuildChannel}.
* If this Message is ephemeral
* If this message type cannot be deleted. (See {@link MessageType#canDelete()})
*
*
* @return {@link net.dv8tion.jda.api.requests.restaction.AuditableRestAction AuditableRestAction}
*
- * @see net.dv8tion.jda.api.entities.TextChannel#deleteMessages(java.util.Collection) TextChannel.deleteMessages(Collection)
- * @see net.dv8tion.jda.api.entities.MessageChannel#purgeMessages(java.util.List) MessageChannel.purgeMessages(List)
+ * @see TextChannel#deleteMessages(java.util.Collection) TextChannel.deleteMessages(Collection)
+ * @see net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#purgeMessages(java.util.List) MessageChannel.purgeMessages(List)
*/
@Nonnull
@CheckReturnValue
@@ -1416,28 +1420,28 @@ default MessageCreateAction replyFiles(@Nonnull Collection extends FileUpload>
/**
* Used to add the Message to the {@link #getChannel() MessageChannel's} pinned message list.
- * This is a shortcut method to {@link MessageChannel#pinMessageById(String)}.
+ * This is a shortcut method to {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#pinMessageById(String)}.
*
* The success or failure of this action will not affect the return of {@link #isPinned()}.
*
*
The following {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} are possible:
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
- * The pin request was attempted after the account lost access to the {@link GuildChannel}
+ * The pin request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}
* due to {@link Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL} being revoked, or the
* account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The pin request was attempted after the account lost {@link Permission#MESSAGE_MANAGE Permission.MESSAGE_MANAGE} in
- * the {@link GuildChannel}.
+ * the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* If the message has already been deleted. This might also be triggered for ephemeral messages.
*
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this Message is from a {@link GuildChannel} and:
+ * If this Message is from a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel} and:
*
* Missing {@link Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}.
* The account needs access the the channel to pin a message in it.
@@ -1455,28 +1459,28 @@ default MessageCreateAction replyFiles(@Nonnull Collection extends FileUpload>
/**
* Used to remove the Message from the {@link #getChannel() MessageChannel's} pinned message list.
- * This is a shortcut method to {@link MessageChannel#unpinMessageById(String)}.
+ * This is a shortcut method to {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#unpinMessageById(String)}.
*
* The success or failure of this action will not affect the return of {@link #isPinned()}.
*
*
The following {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} are possible:
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
- * The unpin request was attempted after the account lost access to the {@link GuildChannel}
+ * The unpin request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}
* due to {@link Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL} being revoked, or the
* account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The unpin request was attempted after the account lost {@link Permission#MESSAGE_MANAGE Permission.MESSAGE_MANAGE} in
- * the {@link GuildChannel}.
+ * the {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* If the message has already been deleted. This might also be triggered for ephemeral messages.
*
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this Message is from a {@link GuildChannel} and:
+ * If this Message is from a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel} and:
*
*
@@ -641,7 +649,7 @@ default MessageCreateAction sendMessageComponents(@Nonnull Collection extends
* @throws IllegalArgumentException
* If null is provided
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL} or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
* @return {@link MessageCreateAction}
@@ -671,7 +679,7 @@ default MessageCreateAction sendFiles(@Nonnull Collection extends FileUpload>
* if this channel was deleted
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#CANNOT_SEND_TO_USER CANNOT_SEND_TO_USER}
- * If this is a {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} and the currently logged in account
+ * If this is a {@link PrivateChannel PrivateChannel} and the currently logged in account
* does not share any Guilds with the recipient User
*
*
@@ -701,7 +709,7 @@ default MessageCreateAction sendFiles(@Nonnull Collection extends FileUpload>
* @throws IllegalArgumentException
* If null is provided
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL} or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
* @return {@link MessageCreateAction}
@@ -730,11 +738,11 @@ default MessageCreateAction sendFiles(@Nonnull FileUpload... files)
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
- * in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * in the {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code id} does not refer to a message sent in this channel or the message has already been deleted.
@@ -751,7 +759,7 @@ default MessageCreateAction sendFiles(@Nonnull FileUpload... files)
* @throws IllegalArgumentException
* if the provided {@code messageId} is null or empty.
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -786,11 +794,11 @@ default RestAction retrieveMessageById(@Nonnull String messageId)
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
- * in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * in the {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code id} does not refer to a message sent in this channel or the message has already been deleted.
@@ -805,7 +813,7 @@ default RestAction retrieveMessageById(@Nonnull String messageId)
* @throws net.dv8tion.jda.api.exceptions.AccountTypeException
* If the currently logged in account is not from {@link net.dv8tion.jda.api.AccountType#BOT AccountType.BOT}
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -830,14 +838,14 @@ default RestAction retrieveMessageById(long messageId)
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
- * The request attempted to delete a Message in a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * The request attempted to delete a Message in a {@link GuildMessageChannel GuildMessageChannel}
* that was not sent by the currently logged in account.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#INVALID_DM_ACTION INVALID_DM_ACTION}
- * Attempted to delete a Message in a {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}
+ * Attempted to delete a Message in a {@link PrivateChannel PrivateChannel}
* that was not sent by the currently logged in account.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
@@ -853,7 +861,7 @@ default RestAction retrieveMessageById(long messageId)
* @throws IllegalArgumentException
* if the provided messageId is null
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}.
*
* @return {@link net.dv8tion.jda.api.requests.RestAction RestAction} - Type: Void
@@ -877,14 +885,14 @@ default AuditableRestAction deleteMessageById(@Nonnull String messageId)
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
- * The request attempted to delete a Message in a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * The request attempted to delete a Message in a {@link GuildMessageChannel GuildMessageChannel}
* that was not sent by the currently logged in account.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#INVALID_DM_ACTION INVALID_DM_ACTION}
- * Attempted to delete a Message in a {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}
+ * Attempted to delete a Message in a {@link PrivateChannel PrivateChannel}
* that was not sent by the currently logged in account.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
@@ -900,7 +908,7 @@ default AuditableRestAction deleteMessageById(@Nonnull String messageId)
* @throws IllegalArgumentException
* if the provided messageId is not positive
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}.
*
* @return {@link net.dv8tion.jda.api.requests.RestAction RestAction} - Type: Void
@@ -917,7 +925,7 @@ default AuditableRestAction deleteMessageById(long messageId)
* MessageHistory is NOT an internal message cache, but rather it queries the Discord servers for previously sent messages.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * If this is a {@link GuildMessageChannel GuildMessageChannel}
* and the currently logged in account does not have the permission {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY MESSAGE_HISTORY}
*
* @return A {@link net.dv8tion.jda.api.entities.MessageHistory MessageHistory} related to this channel.
@@ -951,7 +959,7 @@ default MessageHistory getHistory()
* }
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * If this is a {@link GuildMessageChannel GuildMessageChannel}
* and the currently logged in account does not have the permission {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY MESSAGE_HISTORY}
*
* @return {@link MessagePaginationAction MessagePaginationAction}
@@ -985,12 +993,12 @@ default MessagePaginationAction getIterableHistory()
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1011,7 +1019,7 @@ default MessagePaginationAction getIterableHistory()
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1051,12 +1059,12 @@ default MessageHistory.MessageRetrieveAction getHistoryAround(@Nonnull String me
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1077,7 +1085,7 @@ default MessageHistory.MessageRetrieveAction getHistoryAround(@Nonnull String me
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1117,12 +1125,12 @@ default MessageHistory.MessageRetrieveAction getHistoryAround(long messageId, in
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code message} has already been deleted, thus could not be used as a marker.
@@ -1143,7 +1151,7 @@ default MessageHistory.MessageRetrieveAction getHistoryAround(long messageId, in
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1176,12 +1184,12 @@ default MessageHistory.MessageRetrieveAction getHistoryAround(@Nonnull Message m
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1202,7 +1210,7 @@ default MessageHistory.MessageRetrieveAction getHistoryAround(@Nonnull Message m
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1234,12 +1242,12 @@ default MessageHistory.MessageRetrieveAction getHistoryAfter(@Nonnull String mes
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1257,7 +1265,7 @@ default MessageHistory.MessageRetrieveAction getHistoryAfter(@Nonnull String mes
* @throws java.lang.IllegalArgumentException
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1289,12 +1297,12 @@ default MessageHistory.MessageRetrieveAction getHistoryAfter(long messageId, int
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1315,7 +1323,7 @@ default MessageHistory.MessageRetrieveAction getHistoryAfter(long messageId, int
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1348,12 +1356,12 @@ default MessageHistory.MessageRetrieveAction getHistoryAfter(@Nonnull Message me
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1374,7 +1382,7 @@ default MessageHistory.MessageRetrieveAction getHistoryAfter(@Nonnull Message me
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1406,12 +1414,12 @@ default MessageHistory.MessageRetrieveAction getHistoryBefore(@Nonnull String me
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1432,7 +1440,7 @@ default MessageHistory.MessageRetrieveAction getHistoryBefore(@Nonnull String me
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1464,12 +1472,12 @@ default MessageHistory.MessageRetrieveAction getHistoryBefore(long messageId, in
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -1490,7 +1498,7 @@ default MessageHistory.MessageRetrieveAction getHistoryBefore(long messageId, in
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1510,7 +1518,7 @@ default MessageHistory.MessageRetrieveAction getHistoryBefore(@Nonnull Message m
}
/**
- * Retrieves messages from the beginning of this {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * Retrieves messages from the beginning of this {@link MessageChannel MessageChannel}.
* The {@code limit} determines the amount of messages being retrieved.
*
* Example
@@ -1535,12 +1543,12 @@ default MessageHistory.MessageRetrieveAction getHistoryBefore(@Nonnull Message m
*
{@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_CHANNEL UNKNOWN_CHANNEL}
* The request was attempted after the channel was deleted.
@@ -1552,7 +1560,7 @@ default MessageHistory.MessageRetrieveAction getHistoryBefore(@Nonnull Message m
* @throws java.lang.IllegalArgumentException
* Provided {@code limit} is less than {@code 1} or greater than {@code 100}.
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
@@ -1585,14 +1593,14 @@ default MessageHistory.MessageRetrieveAction getHistoryFromBeginning(int limit)
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_CHANNEL UNKNOWN_CHANNEL}
* The request was attempted after the channel was deleted.
*
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the logged in account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
@@ -1617,14 +1625,14 @@ default RestAction sendTyping()
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
* Also can happen if the account lost the {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
*
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_ADD_REACTION Permission.MESSAGE_ADD_REACTION} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_EMOJI UNKNOWN_EMOJI}
* The provided emoji was deleted, doesn't exist, or is not available to the currently logged-in account in this channel.
@@ -1648,7 +1656,7 @@ default RestAction sendTyping()
* If provided {@code emoji} is {@code null}.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If the MessageChannel this message was sent in was a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * If the MessageChannel this message was sent in was a {@link GuildMessageChannel GuildMessageChannel}
* and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#MESSAGE_ADD_REACTION Permission.MESSAGE_ADD_REACTION}
@@ -1678,14 +1686,14 @@ default RestAction addReactionById(@Nonnull String messageId, @Nonnull Emo
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
* Also can happen if the account lost the {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
*
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_ADD_REACTION Permission.MESSAGE_ADD_REACTION} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_EMOJI UNKNOWN_EMOJI}
* The provided emoji was deleted, doesn't exist, or is not available to the currently logged-in account in this channel.
@@ -1709,7 +1717,7 @@ default RestAction addReactionById(@Nonnull String messageId, @Nonnull Emo
* If provided {@code emoji} is {@code null}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If the MessageChannel this message was sent in was a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * If the MessageChannel this message was sent in was a {@link GuildMessageChannel GuildMessageChannel}
* and the logged in account does not have
*
* {@link net.dv8tion.jda.api.Permission#MESSAGE_ADD_REACTION Permission.MESSAGE_ADD_REACTION}
@@ -1734,14 +1742,14 @@ default RestAction addReactionById(long messageId, @Nonnull Emoji emoji)
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
* Also can happen if the account lost the {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
*
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_ADD_REACTION Permission.MESSAGE_ADD_REACTION} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_EMOJI UNKNOWN_EMOJI}
* The provided emoji was deleted, doesn't exist, or is not available to the currently logged-in account in this channel.
@@ -1788,14 +1796,14 @@ default RestAction removeReactionById(@Nonnull String messageId, @Nonnull
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
* Also can happen if the account lost the {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
*
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
* The request was attempted after the account lost
* {@link net.dv8tion.jda.api.Permission#MESSAGE_ADD_REACTION Permission.MESSAGE_ADD_REACTION} in the
- * {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * {@link GuildMessageChannel GuildMessageChannel}.
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_EMOJI UNKNOWN_EMOJI}
* The provided emoji was deleted, doesn't exist, or is not available to the currently logged-in account in this channel.
@@ -1839,7 +1847,7 @@ default RestAction removeReactionById(long messageId, @Nonnull Emoji emoji
* The following {@link net.dv8tion.jda.api.requests.ErrorResponse ErrorResponses} are possible:
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
- * The retrieve request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * The retrieve request was attempted after the account lost access to the {@link GuildMessageChannel GuildMessageChannel}
* due to {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL} being revoked
* Also can happen if the account lost the {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}
*
@@ -1857,7 +1865,7 @@ default RestAction removeReactionById(long messageId, @Nonnull Emoji emoji
* The {@link Emoji} to retrieve users for.
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and the
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and the
* logged in account does not have {@link net.dv8tion.jda.api.Permission#MESSAGE_HISTORY Permission.MESSAGE_HISTORY}.
* @throws java.lang.IllegalArgumentException
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
*
* @return {@link MessageEditAction}
@@ -2258,7 +2266,7 @@ default MessageEditAction editMessageById(long messageId, @Nonnull CharSequence
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2282,7 +2290,7 @@ default MessageEditAction editMessageById(long messageId, @Nonnull CharSequence
* is not {@link net.dv8tion.jda.api.entities.MessageEmbed#isSendable() sendable}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
*
* @return {@link MessageEditAction}
@@ -2308,7 +2316,7 @@ default MessageEditAction editMessageById(@Nonnull String messageId, @Nonnull Me
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2331,7 +2339,7 @@ default MessageEditAction editMessageById(@Nonnull String messageId, @Nonnull Me
* is not {@link net.dv8tion.jda.api.entities.MessageEmbed#isSendable() sendable}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
*
* @return {@link MessageEditAction}
@@ -2355,7 +2363,7 @@ default MessageEditAction editMessageById(long messageId, @Nonnull MessageEditDa
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2380,7 +2388,7 @@ default MessageEditAction editMessageById(long messageId, @Nonnull MessageEditDa
* @throws IllegalStateException
* If the resulting message is either empty or too long to be sent
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* @throws java.util.IllegalFormatException
* If a format string contains an illegal syntax,
@@ -2412,7 +2420,7 @@ default MessageEditAction editMessageFormatById(@Nonnull String messageId, @Nonn
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2434,7 +2442,7 @@ default MessageEditAction editMessageFormatById(@Nonnull String messageId, @Nonn
* @throws IllegalStateException
* If the resulting message is either empty or too long to be sent
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* @throws java.util.IllegalFormatException
* If a format string contains an illegal syntax,
@@ -2466,7 +2474,7 @@ default MessageEditAction editMessageFormatById(long messageId, @Nonnull String
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2488,7 +2496,7 @@ default MessageEditAction editMessageFormatById(long messageId, @Nonnull String
* is not {@link net.dv8tion.jda.api.entities.MessageEmbed#isSendable() sendable}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2514,7 +2522,7 @@ default MessageEditAction editMessageEmbedsById(@Nonnull String messageId, @Nonn
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2536,7 +2544,7 @@ default MessageEditAction editMessageEmbedsById(@Nonnull String messageId, @Nonn
* is not {@link net.dv8tion.jda.api.entities.MessageEmbed#isSendable() sendable}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2561,7 +2569,7 @@ default MessageEditAction editMessageEmbedsById(long messageId, @Nonnull Message
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2583,7 +2591,7 @@ default MessageEditAction editMessageEmbedsById(long messageId, @Nonnull Message
* is not {@link net.dv8tion.jda.api.entities.MessageEmbed#isSendable() sendable}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2609,7 +2617,7 @@ default MessageEditAction editMessageEmbedsById(@Nonnull String messageId, @Nonn
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2631,7 +2639,7 @@ default MessageEditAction editMessageEmbedsById(@Nonnull String messageId, @Nonn
* is not {@link net.dv8tion.jda.api.entities.MessageEmbed#isSendable() sendable}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2659,7 +2667,7 @@ default MessageEditAction editMessageEmbedsById(long messageId, @Nonnull Collect
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2691,7 +2699,7 @@ default MessageEditAction editMessageEmbedsById(long messageId, @Nonnull Collect
* If any of the provided {@link LayoutComponent LayoutComponents} is null
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2724,7 +2732,7 @@ default MessageEditAction editMessageComponentsById(@Nonnull String messageId, @
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2753,7 +2761,7 @@ default MessageEditAction editMessageComponentsById(@Nonnull String messageId, @
* @throws IllegalArgumentException
* If any of the provided {@link LayoutComponent LayoutComponents} is null
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2781,7 +2789,7 @@ default MessageEditAction editMessageComponentsById(long messageId, @Nonnull Col
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2812,7 +2820,7 @@ default MessageEditAction editMessageComponentsById(long messageId, @Nonnull Col
* If any of the provided {@link LayoutComponent LayoutComponents} is null
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2841,7 +2849,7 @@ default MessageEditAction editMessageComponentsById(@Nonnull String messageId, @
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2869,7 +2877,7 @@ default MessageEditAction editMessageComponentsById(@Nonnull String messageId, @
* @throws IllegalArgumentException
* If any of the provided {@link LayoutComponent LayoutComponents} is null
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
- * If this is a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} and this account does not have
+ * If this is a {@link GuildMessageChannel GuildMessageChannel} and this account does not have
* {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
* or {@link net.dv8tion.jda.api.Permission#MESSAGE_SEND Permission.MESSAGE_SEND}
*
@@ -2899,7 +2907,7 @@ default MessageEditAction editMessageComponentsById(long messageId, @Nonnull Lay
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -2950,7 +2958,7 @@ default MessageEditAction editMessageAttachmentsById(@Nonnull String messageId,
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -3001,7 +3009,7 @@ default MessageEditAction editMessageAttachmentsById(@Nonnull String messageId,
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
@@ -3051,7 +3059,7 @@ default MessageEditAction editMessageAttachmentsById(long messageId, @Nonnull Co
* {@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
* The request was attempted after the account lost access to the {@link net.dv8tion.jda.api.entities.Guild Guild}
* typically due to being kicked or removed, or after {@link net.dv8tion.jda.api.Permission#VIEW_CHANNEL Permission.VIEW_CHANNEL}
- * was revoked in the {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}
+ * was revoked in the {@link GuildMessageChannel}
*
* {@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_MESSAGE UNKNOWN_MESSAGE}
* The provided {@code messageId} is unknown in this MessageChannel, either due to the id being invalid, or
diff --git a/src/main/java/net/dv8tion/jda/api/entities/StandardGuildChannel.java b/src/main/java/net/dv8tion/jda/api/entities/channel/middleman/StandardGuildChannel.java
similarity index 67%
rename from src/main/java/net/dv8tion/jda/api/entities/StandardGuildChannel.java
rename to src/main/java/net/dv8tion/jda/api/entities/channel/middleman/StandardGuildChannel.java
index 06c4f09a4a..622109fb2d 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/StandardGuildChannel.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/middleman/StandardGuildChannel.java
@@ -14,8 +14,14 @@
* limitations under the License.
*/
-package net.dv8tion.jda.api.entities;
+package net.dv8tion.jda.api.entities.channel.middleman;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.attribute.*;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.managers.channel.middleman.StandardGuildChannelManager;
import net.dv8tion.jda.api.requests.restaction.ChannelAction;
@@ -24,11 +30,11 @@
/**
* Represents a standard {@link GuildChannel} which are the "normal " channels that are present in the channel sidebar.
- * They include functionality "expected" of normal Discord channels like {@link IPermissionContainer permissions},
- * {@link IInviteContainer invite support}, {@link IPositionableChannel positioning}, the ability
- * {@link ICategorizableChannel to be categorized}, and more.
+ * They include functionality "expected" of normal Discord channels like {@link net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer permissions},
+ * {@link net.dv8tion.jda.api.entities.channel.attribute.IInviteContainer invite support}, {@link IPositionableChannel positioning}, the ability
+ * {@link net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel to be categorized}, and more.
*
- * @see net.dv8tion.jda.api.entities.GuildMessageChannel
+ * @see GuildMessageChannel
* @see TextChannel
* @see NewsChannel
* @see StageChannel
diff --git a/src/main/java/net/dv8tion/jda/api/entities/StandardGuildMessageChannel.java b/src/main/java/net/dv8tion/jda/api/entities/channel/middleman/StandardGuildMessageChannel.java
similarity index 76%
rename from src/main/java/net/dv8tion/jda/api/entities/StandardGuildMessageChannel.java
rename to src/main/java/net/dv8tion/jda/api/entities/channel/middleman/StandardGuildMessageChannel.java
index bcf040e25e..9521f92df3 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/StandardGuildMessageChannel.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/middleman/StandardGuildMessageChannel.java
@@ -14,9 +14,15 @@
* limitations under the License.
*/
-package net.dv8tion.jda.api.entities;
+package net.dv8tion.jda.api.entities.channel.middleman;
+import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.channel.attribute.IAgeRestrictedChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.managers.channel.middleman.StandardGuildMessageChannelManager;
import net.dv8tion.jda.api.requests.restaction.ChannelAction;
@@ -27,11 +33,11 @@
/**
* Represents a standard {@link GuildMessageChannel} which are the "normal " message channels that are present in the channel sidebar.
* They include all the functionality of {@link StandardGuildChannel StandardGuildChannels} along with the extra functionality
- * expected of normal guild message channels like {@link GuildMessageChannel messaging}, {@link IThreadContainer thread support}, and {@link IWebhookContainer webhooks}.
+ * expected of normal guild message channels like {@link GuildMessageChannel messaging}, {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer thread support}, and {@link net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer webhooks}.
*
* These are not {@link ThreadChannel ThreadChannels}.
*
- * @see net.dv8tion.jda.api.entities.GuildMessageChannel
+ * @see GuildMessageChannel
* @see TextChannel
* @see NewsChannel
* @see StandardGuildChannel
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/ChannelUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/ChannelUnion.java
index 0826c6a198..2acf963fe3 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/ChannelUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/ChannelUnion.java
@@ -16,7 +16,11 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.*;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/DefaultGuildChannelUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/DefaultGuildChannelUnion.java
index 6342c21401..b1adc20219 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/DefaultGuildChannelUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/DefaultGuildChannelUnion.java
@@ -16,7 +16,14 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
import javax.annotation.Nonnull;
@@ -24,7 +31,7 @@
* A specialized union representing all channel types that can be used for the "default" channel for
* {@link Guild#getDefaultChannel()} or {@link Member#getDefaultChannel()}.
* This is the channel that the Discord client will default to opening when a Guild is opened for the first time
- * when accepting an invite that is not directed at a specific {@link IInviteContainer channel}.
+ * when accepting an invite that is not directed at a specific {@link net.dv8tion.jda.api.entities.channel.attribute.IInviteContainer channel}.
*
* This class extends {@link StandardGuildChannel} and primarily acts as a discovery tool for
* developers to understand which channels might be returned as default channels.
@@ -86,7 +93,7 @@ public interface DefaultGuildChannelUnion extends StandardGuildChannel
//TODO: add asForumChannel() (I think ForumChannels can be the default?)
/**
- * Casts this union to a {@link IThreadContainer}.
+ * Casts this union to a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
* This method exists for developer discoverability.
*
* Note: This is effectively equivalent to using the cast operator:
@@ -99,9 +106,9 @@ public interface DefaultGuildChannelUnion extends StandardGuildChannel
* You can use channel instanceof IThreadContainer
to validate whether you can call this method.
*
* @throws IllegalStateException
- * If the channel represented by this union is not actually a {@link IThreadContainer}.
+ * If the channel represented by this union is not actually a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
*
- * @return The channel as a {@link IThreadContainer}
+ * @return The channel as a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}
*/
IThreadContainer asThreadContainer();
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildChannelUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildChannelUnion.java
index 77977ba6b1..170233e0c5 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildChannelUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildChannelUnion.java
@@ -16,7 +16,10 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.*;
import javax.annotation.Nonnull;
@@ -215,7 +218,7 @@ public interface GuildChannelUnion extends GuildChannel
AudioChannel asAudioChannel();
/**
- * Casts this union to a {@link IThreadContainer}.
+ * Casts this union to a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
* This method exists for developer discoverability.
*
* Note: This is effectively equivalent to using the cast operator:
@@ -228,9 +231,9 @@ public interface GuildChannelUnion extends GuildChannel
* You can use channel instanceof IThreadContainer
to validate whether you can call this method.
*
* @throws IllegalStateException
- * If the channel represented by this union is not actually a {@link IThreadContainer}.
+ * If the channel represented by this union is not actually a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
*
- * @return The channel as a {@link IThreadContainer}
+ * @return The channel as a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}
*/
IThreadContainer asThreadContainer();
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildMessageChannelUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildMessageChannelUnion.java
index a88f8a7414..c13488e26e 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildMessageChannelUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/GuildMessageChannelUnion.java
@@ -16,7 +16,15 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
import javax.annotation.Nonnull;
@@ -123,7 +131,7 @@ public interface GuildMessageChannelUnion extends GuildMessageChannel
VoiceChannel asVoiceChannel();
/**
- * Casts this union to a {@link IThreadContainer}.
+ * Casts this union to a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
* This method exists for developer discoverability.
*
* Note: This is effectively equivalent to using the cast operator:
@@ -136,9 +144,9 @@ public interface GuildMessageChannelUnion extends GuildMessageChannel
* You can use channel instanceof IThreadContainer
to validate whether you can call this method.
*
* @throws IllegalStateException
- * If the channel represented by this union is not actually a {@link IThreadContainer}.
+ * If the channel represented by this union is not actually a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
*
- * @return The channel as a {@link IThreadContainer}
+ * @return The channel as a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}
*/
IThreadContainer asThreadContainer();
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IPermissionContainerUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IPermissionContainerUnion.java
index 9792fc1982..28d8755f8d 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IPermissionContainerUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IPermissionContainerUnion.java
@@ -16,14 +16,21 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
import javax.annotation.Nonnull;
/**
- * A union representing all channel types that implement {@link IPermissionContainer}.
- * This class extends {@link IPermissionContainer} and primarily acts as a discovery tool for
- * developers to discover some common interfaces that a {@link IPermissionContainer} could be cast to.
+ * A union representing all channel types that implement {@link net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer}.
+ * This class extends {@link net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer} and primarily acts as a discovery tool for
+ * developers to discover some common interfaces that a {@link net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer} could be cast to.
*
* This interface represents the follow concrete channel types:
*
@@ -192,7 +199,7 @@ public interface IPermissionContainerUnion extends IPermissionContainer
AudioChannel asAudioChannel();
/**
- * Casts this union to a {@link IThreadContainer}.
+ * Casts this union to a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
* This method exists for developer discoverability.
*
* Note: This is effectively equivalent to using the cast operator:
@@ -205,9 +212,9 @@ public interface IPermissionContainerUnion extends IPermissionContainer
* You can use channel instanceof IThreadContainer
to validate whether you can call this method.
*
* @throws IllegalStateException
- * If the channel represented by this union is not actually a {@link IThreadContainer}.
+ * If the channel represented by this union is not actually a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
*
- * @return The channel as a {@link IThreadContainer}
+ * @return The channel as a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}
*/
IThreadContainer asThreadContainer();
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IThreadContainerUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IThreadContainerUnion.java
index c4d55b2bbe..18546a9240 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IThreadContainerUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IThreadContainerUnion.java
@@ -16,14 +16,20 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
import javax.annotation.Nonnull;
/**
- * A union representing all channel types that implement {@link IThreadContainer}.
- * This class extends {@link IThreadContainer} and primarily acts as a discovery tool for
- * developers to discover some common interfaces that a {@link IThreadContainer} could be cast to.
+ * A union representing all channel types that implement {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
+ * This class extends {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer} and primarily acts as a discovery tool for
+ * developers to discover some common interfaces that a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer} could be cast to.
*
* This interface represents the follow concrete channel types:
*
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IWebhookContainerUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IWebhookContainerUnion.java
index 7a3c2c077b..1b142e17d7 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IWebhookContainerUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/IWebhookContainerUnion.java
@@ -16,14 +16,22 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
import javax.annotation.Nonnull;
/**
- * A union representing all channel types that implement {@link IWebhookContainer}.
- * This class extends {@link IWebhookContainer} and primarily acts as a discovery tool for
- * developers to discover some common interfaces that a {@link IWebhookContainer} could be cast to.
+ * A union representing all channel types that implement {@link net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer}.
+ * This class extends {@link net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer} and primarily acts as a discovery tool for
+ * developers to discover some common interfaces that a {@link net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer} could be cast to.
*
* This interface represents the follow concrete channel types:
*
@@ -80,7 +88,7 @@ public interface IWebhookContainerUnion extends IWebhookContainer
//TODO: Add asForumChannel
/**
- * Casts this union to a {@link IThreadContainer}.
+ * Casts this union to a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
* This method exists for developer discoverability.
*
* Note: This is effectively equivalent to using the cast operator:
@@ -93,9 +101,9 @@ public interface IWebhookContainerUnion extends IWebhookContainer
* You can use channel instanceof IThreadContainer
to validate whether you can call this method.
*
* @throws IllegalStateException
- * If the channel represented by this union is not actually a {@link IThreadContainer}.
+ * If the channel represented by this union is not actually a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
*
- * @return The channel as a {@link IThreadContainer}
+ * @return The channel as a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}
*/
@Nonnull
IThreadContainer asThreadContainer();
diff --git a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/MessageChannelUnion.java b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/MessageChannelUnion.java
index 90005d6cb3..61be48620f 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/channel/unions/MessageChannelUnion.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/channel/unions/MessageChannelUnion.java
@@ -16,7 +16,11 @@
package net.dv8tion.jda.api.entities.channel.unions;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import javax.annotation.Nonnull;
@@ -146,7 +150,7 @@ public interface MessageChannelUnion extends MessageChannel
VoiceChannel asVoiceChannel();
/**
- * Casts this union to a {@link IThreadContainer}.
+ * Casts this union to a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
* This method exists for developer discoverability.
*
* Note: This is effectively equivalent to using the cast operator:
@@ -159,9 +163,9 @@ public interface MessageChannelUnion extends MessageChannel
* You can use channel instanceof IThreadContainer
to validate whether you can call this method.
*
* @throws IllegalStateException
- * If the channel represented by this union is not actually a {@link IThreadContainer}.
+ * If the channel represented by this union is not actually a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}.
*
- * @return The channel as a {@link IThreadContainer}
+ * @return The channel as a {@link net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer}
*/
@Nonnull
IThreadContainer asThreadContainer();
diff --git a/src/main/java/net/dv8tion/jda/api/entities/emoji/RichCustomEmoji.java b/src/main/java/net/dv8tion/jda/api/entities/emoji/RichCustomEmoji.java
index 08249e8c0c..47ef0ab35b 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/emoji/RichCustomEmoji.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/emoji/RichCustomEmoji.java
@@ -17,7 +17,11 @@
package net.dv8tion.jda.api.entities.emoji;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.managers.CustomEmojiManager;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.requests.restaction.AuditableRestAction;
@@ -190,7 +194,7 @@ default boolean canInteract(Member issuer)
/**
* Whether the specified User can interact with this emoji within the provided MessageChannel
- * Same logic as {@link #canInteract(User, MessageChannel, boolean) canInteract(issuer, channel, true)}!
+ * Same logic as {@link #canInteract(User, net.dv8tion.jda.api.entities.channel.middleman.MessageChannel, boolean) canInteract(issuer, channel, true)}!
*
* @param issuer
* The User to test
diff --git a/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateChannel.java b/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateChannel.java
index 8f0f099eca..5c4e1f8e92 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateChannel.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateChannel.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.entities.templates;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.ISnowflake;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -95,7 +95,7 @@ public OffsetDateTime getTimeCreated()
}
/**
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} for this TemplateChannel
+ * The {@link ChannelType ChannelType} for this TemplateChannel
*
* @return The channel type
*/
@@ -119,8 +119,8 @@ public String getName()
/**
* The topic set for this TemplateChannel.
- * If no topic has been set or the {@link net.dv8tion.jda.api.entities.ChannelType ChannelType}
- * is not {@link net.dv8tion.jda.api.entities.ChannelType#TEXT TEXT} , this returns {@code null}.
+ * If no topic has been set or the {@link ChannelType ChannelType}
+ * is not {@link ChannelType#TEXT TEXT} , this returns {@code null}.
*
* @return Possibly-null String containing the topic of this TemplateChannel.
*/
@@ -157,8 +157,8 @@ public long getParentId()
/**
* Whether or not this channel is considered as "NSFW" (Not-Safe-For-Work).
- * If the {@link net.dv8tion.jda.api.entities.ChannelType ChannelType}
- * is not {@link net.dv8tion.jda.api.entities.ChannelType#TEXT TEXT} , this returns {@code false}.
+ * If the {@link ChannelType ChannelType}
+ * is not {@link ChannelType#TEXT TEXT} , this returns {@code false}.
*
* @return Whether this TextChannel is considered NSFW or {@code false} if the channel is not a text channel
*/
@@ -169,7 +169,7 @@ public boolean isNSFW()
/**
* The slowmode set for this TemplateChannel.
- * If slowmode is set this returns an {@code int} between 1 and {@link net.dv8tion.jda.api.entities.TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}.
+ * If slowmode is set this returns an {@code int} between 1 and {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}.
* If not set this returns {@code 0}.
*
* Note bots are unaffected by this.
@@ -177,7 +177,7 @@ public boolean isNSFW()
* {@link net.dv8tion.jda.api.Permission#MANAGE_CHANNEL MANAGE_CHANNEL} permission also
* grants immunity to slowmode.
*
- * @return The slowmode for this TextChannel, between 1 and {@link net.dv8tion.jda.api.entities.TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}, {@code 0} if no slowmode is set.
+ * @return The slowmode for this TextChannel, between 1 and {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}, {@code 0} if no slowmode is set.
*/
public int getSlowmode()
{
diff --git a/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateGuild.java b/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateGuild.java
index cdd72d4881..0d2f953cbe 100644
--- a/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateGuild.java
+++ b/src/main/java/net/dv8tion/jda/api/entities/templates/TemplateGuild.java
@@ -25,11 +25,10 @@
import net.dv8tion.jda.api.interactions.DiscordLocale;
import net.dv8tion.jda.api.utils.ImageProxy;
-import java.util.Collections;
-import java.util.List;
-
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import java.util.Collections;
+import java.util.List;
/**
* POJO for the guild information provided by a template.
@@ -197,7 +196,7 @@ public Timeout getAfkTimeout()
/**
* Provides the {@link net.dv8tion.jda.api.entities.templates.TemplateChannel TemplateChannel} that has been set as the channel
* which {@link net.dv8tion.jda.api.entities.Member Members} will be moved to after they have been inactive in a
- * {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel} for longer than {@link #getAfkTimeout()}.
+ * {@link net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel VoiceChannel} for longer than {@link #getAfkTimeout()}.
* If no channel has been set as the AFK channel, this returns {@code null}.
*
* @return Possibly-null {@link net.dv8tion.jda.api.entities.templates.TemplateChannel TemplateChannel} that is the AFK Channel.
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/ChannelCreateEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/ChannelCreateEvent.java
index 792c4cb3fd..6f0efdfe73 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/ChannelCreateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/ChannelCreateEvent.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.events.channel;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
+import net.dv8tion.jda.api.entities.channel.Channel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/ChannelDeleteEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/ChannelDeleteEvent.java
index 7952b08e26..b8211025c9 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/ChannelDeleteEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/ChannelDeleteEvent.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.events.channel;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
+import net.dv8tion.jda.api.entities.channel.Channel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/GenericChannelEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/GenericChannelEvent.java
index 3fcc8fd1c5..1b21f6871b 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/GenericChannelEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/GenericChannelEvent.java
@@ -17,10 +17,10 @@
package net.dv8tion.jda.api.events.channel;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.ChannelUnion;
import net.dv8tion.jda.api.events.Event;
@@ -68,11 +68,11 @@ public ChannelUnion getChannel()
/**
* The {@link net.dv8tion.jda.api.entities.Guild Guild} in which this channel event happened.
- * If this channel event was not received in a {@link net.dv8tion.jda.api.entities.TextChannel TextChannel},
+ * If this channel event was not received in a {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel TextChannel},
* this will throw an {@link java.lang.IllegalStateException}.
*
* @throws java.lang.IllegalStateException
- * If this channel event did not happen in a {@link net.dv8tion.jda.api.entities.GuildChannel}.
+ * If this channel event did not happen in a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}.
*
* @return The Guild in which this channel event happened
*
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchiveTimestampEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchiveTimestampEvent.java
index 1b95ec403d..6df24e85fa 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchiveTimestampEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchiveTimestampEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import net.dv8tion.jda.internal.utils.Helpers;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchivedEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchivedEvent.java
index 9f6862d175..fba1e1103b 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchivedEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateArchivedEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateAutoArchiveDurationEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateAutoArchiveDurationEvent.java
index e207873ea8..8596adac7a 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateAutoArchiveDurationEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateAutoArchiveDurationEvent.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateBitrateEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateBitrateEvent.java
index 10c3032114..48c77afb14 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateBitrateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateBitrateEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateInvitableEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateInvitableEvent.java
index d705d96fd4..f4cef855e0 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateInvitableEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateInvitableEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateLockedEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateLockedEvent.java
index 12bd2230d4..bc3a853e59 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateLockedEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateLockedEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNSFWEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNSFWEvent.java
index 7f50f91953..ef11cc54d1 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNSFWEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNSFWEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNameEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNameEvent.java
index 62e4d28e85..844d3a4b7b 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNameEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateNameEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateParentEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateParentEvent.java
index 6685fbd564..d51099b6d5 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateParentEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateParentEvent.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Category;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdatePositionEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdatePositionEvent.java
index c6f2344742..e8ace880a2 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdatePositionEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdatePositionEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateRegionEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateRegionEvent.java
index 1b12c1f5ff..edcdfeb4d3 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateRegionEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateRegionEvent.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateSlowmodeEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateSlowmodeEvent.java
index 31679b3635..cc381a9b1a 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateSlowmodeEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateSlowmodeEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTopicEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTopicEvent.java
index 9c9bd28635..7c8f4e5b46 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTopicEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTopicEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTypeEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTypeEvent.java
index 873242e5bd..67a5738af6 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTypeEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateTypeEvent.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
-import net.dv8tion.jda.api.entities.ChannelType;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateUserLimitEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateUserLimitEvent.java
index b73ed3d2a5..e9b08e0035 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateUserLimitEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/ChannelUpdateUserLimitEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/channel/update/GenericChannelUpdateEvent.java b/src/main/java/net/dv8tion/jda/api/events/channel/update/GenericChannelUpdateEvent.java
index 1f33f9e86f..8f2b4f963e 100644
--- a/src/main/java/net/dv8tion/jda/api/events/channel/update/GenericChannelUpdateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/channel/update/GenericChannelUpdateEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.channel.update;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelField;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelField;
import net.dv8tion.jda.api.events.UpdateEvent;
import net.dv8tion.jda.api.events.channel.GenericChannelEvent;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/invite/GenericGuildInviteEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/invite/GenericGuildInviteEvent.java
index fa9bb828fa..ac37d4f5e9 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/invite/GenericGuildInviteEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/invite/GenericGuildInviteEvent.java
@@ -17,7 +17,10 @@
package net.dv8tion.jda.api.events.guild.invite;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Invite;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildChannelUnion;
import net.dv8tion.jda.api.events.guild.GenericGuildEvent;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteCreateEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteCreateEvent.java
index 290bbb63b9..4a16006f8c 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteCreateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteCreateEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.guild.invite;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.Invite;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteDeleteEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteDeleteEvent.java
index aee8fc2204..83eec93536 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteDeleteEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/invite/GuildInviteDeleteEvent.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.Invite;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/override/GenericPermissionOverrideEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/override/GenericPermissionOverrideEvent.java
index 6d8fc7a647..4b2130e385 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/override/GenericPermissionOverrideEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/override/GenericPermissionOverrideEvent.java
@@ -17,7 +17,13 @@
package net.dv8tion.jda.api.events.guild.override;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.IPermissionHolder;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.IPermissionContainerUnion;
import net.dv8tion.jda.api.events.guild.GenericGuildEvent;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideCreateEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideCreateEvent.java
index 9b5f57764d..4418f0bd54 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideCreateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideCreateEvent.java
@@ -17,9 +17,8 @@
package net.dv8tion.jda.api.events.guild.override;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideDeleteEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideDeleteEvent.java
index fe83cd1cf4..b19fe6d3e7 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideDeleteEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideDeleteEvent.java
@@ -17,9 +17,8 @@
package net.dv8tion.jda.api.events.guild.override;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideUpdateEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideUpdateEvent.java
index 4c39c0822a..22f0b8652f 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideUpdateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/override/PermissionOverrideUpdateEvent.java
@@ -18,9 +18,8 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
import javax.annotation.Nonnull;
import java.util.EnumSet;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateAfkChannelEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateAfkChannelEvent.java
index 151ee27173..24f89ff39b 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateAfkChannelEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateAfkChannelEvent.java
@@ -18,7 +18,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateCommunityUpdatesChannelEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateCommunityUpdatesChannelEvent.java
index 75a7aec704..ab431814b8 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateCommunityUpdatesChannelEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateCommunityUpdatesChannelEvent.java
@@ -18,7 +18,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateRulesChannelEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateRulesChannelEvent.java
index 9d0f9621cb..1940d5634e 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateRulesChannelEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateRulesChannelEvent.java
@@ -18,7 +18,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateSystemChannelEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateSystemChannelEvent.java
index 0933d2a7ef..8679b34af0 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateSystemChannelEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/update/GuildUpdateSystemChannelEvent.java
@@ -18,7 +18,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GenericGuildVoiceUpdateEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GenericGuildVoiceUpdateEvent.java
index adef4ee1ac..47ae277212 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GenericGuildVoiceUpdateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GenericGuildVoiceUpdateEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.guild.voice;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceJoinEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceJoinEvent.java
index c300627459..fc3769b6cf 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceJoinEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceJoinEvent.java
@@ -17,13 +17,13 @@
package net.dv8tion.jda.api.events.guild.voice;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import javax.annotation.Nonnull;
/**
- * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} connected to a {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}.
+ * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} connected to a {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}.
*
*
When the {@link net.dv8tion.jda.api.entities.Member Member} is moved a {@link net.dv8tion.jda.api.events.guild.voice.GuildVoiceMoveEvent GuildVoiceMoveEvent} is fired instead
*
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceLeaveEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceLeaveEvent.java
index 88031f3839..b5284cc20f 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceLeaveEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceLeaveEvent.java
@@ -17,13 +17,13 @@
package net.dv8tion.jda.api.events.guild.voice;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import javax.annotation.Nonnull;
/**
- * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} disconnected from a {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}.
+ * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} disconnected from a {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}.
*
*
When the {@link net.dv8tion.jda.api.entities.Member Member} is moved a {@link net.dv8tion.jda.api.events.guild.voice.GuildVoiceMoveEvent GuildVoiceMoveEvent} is fired instead
*
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceMoveEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceMoveEvent.java
index 0a28e55f88..c06fc7f016 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceMoveEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceMoveEvent.java
@@ -17,13 +17,13 @@
package net.dv8tion.jda.api.events.guild.voice;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import javax.annotation.Nonnull;
/**
- * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} moves between {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannels}.
+ * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} moves between {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannels}.
*
*
When the {@link net.dv8tion.jda.api.entities.Member Member} is leaving a {@link net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent GuildVoiceLeaveEvent} is fired instead
*
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceRequestToSpeakEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceRequestToSpeakEvent.java
index 26b9de6aab..0a9b8c2f48 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceRequestToSpeakEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceRequestToSpeakEvent.java
@@ -19,7 +19,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.GuildVoiceState;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.StageChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.requests.RestAction;
import javax.annotation.CheckReturnValue;
diff --git a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceUpdateEvent.java b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceUpdateEvent.java
index c96e40c405..e377588d21 100644
--- a/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceUpdateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/guild/voice/GuildVoiceUpdateEvent.java
@@ -16,16 +16,16 @@
package net.dv8tion.jda.api.events.guild.voice;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.events.UpdateEvent;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
- * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} joined or left an {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}.
+ * Indicates that a {@link net.dv8tion.jda.api.entities.Member Member} joined or left an {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}.
* Generic event that combines
* {@link net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent GuildVoiceLeaveEvent},
* {@link net.dv8tion.jda.api.events.guild.voice.GuildVoiceJoinEvent GuildVoiceJoinEvent}, and
@@ -68,17 +68,17 @@ public interface GuildVoiceUpdateEvent extends UpdateEvent
Guild getGuild();
/**
- * The {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} that the {@link net.dv8tion.jda.api.entities.Member Member} is moved from
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} that the {@link net.dv8tion.jda.api.entities.Member Member} is moved from
*
- * @return The {@link net.dv8tion.jda.api.entities.AudioChannel}
+ * @return The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel}
*/
@Nullable
AudioChannel getChannelLeft();
/**
- * The {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} that was joined
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} that was joined
*
- * @return The {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}
+ * @return The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}
*/
@Nullable
AudioChannel getChannelJoined();
diff --git a/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java b/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java
index 93e4094a60..b000888056 100644
--- a/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java
@@ -17,10 +17,10 @@
package net.dv8tion.jda.api.events.interaction;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.Channel;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.Channel;
import net.dv8tion.jda.api.events.Event;
import net.dv8tion.jda.api.interactions.DiscordLocale;
import net.dv8tion.jda.api.interactions.Interaction;
diff --git a/src/main/java/net/dv8tion/jda/api/events/interaction/command/ApplicationCommandUpdatePrivilegesEvent.java b/src/main/java/net/dv8tion/jda/api/events/interaction/command/ApplicationCommandUpdatePrivilegesEvent.java
index f9a5efba75..376a800778 100644
--- a/src/main/java/net/dv8tion/jda/api/events/interaction/command/ApplicationCommandUpdatePrivilegesEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/interaction/command/ApplicationCommandUpdatePrivilegesEvent.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.events.interaction.command;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.interactions.commands.privileges.IntegrationPrivilege;
import net.dv8tion.jda.api.interactions.commands.privileges.PrivilegeTargetType;
diff --git a/src/main/java/net/dv8tion/jda/api/events/interaction/command/SlashCommandInteractionEvent.java b/src/main/java/net/dv8tion/jda/api/events/interaction/command/SlashCommandInteractionEvent.java
index 4cba0f973c..32ba34a34b 100644
--- a/src/main/java/net/dv8tion/jda/api/events/interaction/command/SlashCommandInteractionEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/interaction/command/SlashCommandInteractionEvent.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.events.interaction.command;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.interactions.commands.SlashCommandInteraction;
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/GenericMessageEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/GenericMessageEvent.java
index c42e27acaa..3fcbb82ed7 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/GenericMessageEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/GenericMessageEvent.java
@@ -16,7 +16,13 @@
package net.dv8tion.jda.api.events.message;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildMessageChannelUnion;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.events.Event;
@@ -51,7 +57,7 @@ public GenericMessageEvent(@Nonnull JDA api, long responseNumber, long messageId
}
/**
- * The {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel} for this Message
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel} for this Message
*
* @return The MessageChannel
*/
@@ -62,7 +68,7 @@ public MessageChannelUnion getChannel()
}
/**
- * The {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} for this Message
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel GuildMessageChannel} for this Message
* if it was sent in a Guild.
* If this Message was not received from a {@link net.dv8tion.jda.api.entities.Guild Guild},
* this will throw an {@link java.lang.IllegalStateException}.
@@ -102,7 +108,7 @@ public long getMessageIdLong()
}
/**
- * Indicates whether the message is from the specified {@link net.dv8tion.jda.api.entities.ChannelType ChannelType}
+ * Indicates whether the message is from the specified {@link ChannelType ChannelType}
*
* @param type
* The ChannelType
@@ -126,7 +132,7 @@ public boolean isFromGuild()
}
/**
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} for this message
+ * The {@link ChannelType ChannelType} for this message
*
* @return The ChannelType
*/
@@ -138,11 +144,11 @@ public ChannelType getChannelType()
/**
* The {@link net.dv8tion.jda.api.entities.Guild Guild} the Message was received in.
- * If this Message was not received in a {@link net.dv8tion.jda.api.entities.TextChannel TextChannel},
+ * If this Message was not received in a {@link TextChannel TextChannel},
* this will throw an {@link java.lang.IllegalStateException}.
*
* @throws java.lang.IllegalStateException
- * If this was not sent in a {@link net.dv8tion.jda.api.entities.GuildChannel}.
+ * If this was not sent in a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}.
*
* @return The Guild the Message was received in
*
@@ -172,7 +178,7 @@ public String getJumpUrl()
}
/**
- * If the message event was from a {@link net.dv8tion.jda.api.entities.ThreadChannel ThreadChannel}
+ * If the message event was from a {@link ThreadChannel ThreadChannel}
*
* @return If the message event was from a ThreadChannel
*
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/MessageBulkDeleteEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/MessageBulkDeleteEvent.java
index 662a9d9ae0..14b6baf54c 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/MessageBulkDeleteEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/MessageBulkDeleteEvent.java
@@ -17,7 +17,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildMessageChannelUnion;
import net.dv8tion.jda.api.events.Event;
@@ -26,7 +26,7 @@
import java.util.List;
/**
- * Indicates that a bulk deletion is executed in a {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel}.
+ * Indicates that a bulk deletion is executed in a {@link net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel GuildMessageChannel}.
* Set {@link net.dv8tion.jda.api.JDABuilder#setBulkDeleteSplittingEnabled(boolean)} to false in order to enable this event.
*
* Can be used to detect that a large chunk of Messages is deleted in a GuildMessageChannel. Providing a list of Message IDs and the specific GuildMessageChannel.
@@ -52,7 +52,7 @@ public MessageBulkDeleteEvent(@Nonnull JDA api, long responseNumber, @Nonnull Gu
}
/**
- * The {@link net.dv8tion.jda.api.entities.GuildMessageChannel GuildMessageChannel} where the messages have been deleted
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel GuildMessageChannel} where the messages have been deleted
*
* @return The TextChannel
*/
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/MessageDeleteEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/MessageDeleteEvent.java
index 019d3f2e07..ec7524ab6b 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/MessageDeleteEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/MessageDeleteEvent.java
@@ -16,12 +16,12 @@
package net.dv8tion.jda.api.events.message;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import javax.annotation.Nonnull;
/**
- * Indicates that a Message was deleted in a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * Indicates that a Message was deleted in a {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}.
*
*
Can be used to detect when a Message is deleted. No matter if private or guild.
*
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/MessageEmbedEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/MessageEmbedEvent.java
index 455676a97b..367e3a8066 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/MessageEmbedEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/MessageEmbedEvent.java
@@ -16,15 +16,15 @@
package net.dv8tion.jda.api.events.message;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.MessageEmbed;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import javax.annotation.Nonnull;
import java.util.Collections;
import java.util.List;
/**
- * Indicates that a Message contains an {@link net.dv8tion.jda.api.entities.MessageEmbed Embed} in a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * Indicates that a Message contains an {@link net.dv8tion.jda.api.entities.MessageEmbed Embed} in a {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}.
* Discord may need to do additional calculations and resizing tasks on messages that embed websites, thus they send the message only with content and link and use this update to add the missing embed later when the server finishes those calculations.
*
*
Can be used to retrieve MessageEmbeds from any message. No matter if private or guild.
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/MessageReceivedEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/MessageReceivedEvent.java
index c10991e739..e6b2c4af7e 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/MessageReceivedEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/MessageReceivedEvent.java
@@ -20,13 +20,15 @@
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.entities.Webhook;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
- * Indicates that a Message was received in a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
- * This includes {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} and {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}!
+ * Indicates that a Message was received in a {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}.
+ * This includes {@link TextChannel TextChannel} and {@link PrivateChannel PrivateChannel}!
*
*
Can be used to detect that a Message is received in either a guild- or private channel. Providing a MessageChannel and Message.
*
@@ -79,7 +81,7 @@ public User getAuthor()
/**
* The Author of the Message received as {@link net.dv8tion.jda.api.entities.Member Member} object.
* This will be {@code null} in case of Message being received in
- * a {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}
+ * a {@link PrivateChannel PrivateChannel}
* or {@link #isWebhookMessage() isWebhookMessage()} returning {@code true}.
*
* @return The Author of the Message as null-able Member object.
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/MessageUpdateEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/MessageUpdateEvent.java
index a63b6b713d..9db91ddab0 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/MessageUpdateEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/MessageUpdateEvent.java
@@ -24,7 +24,7 @@
import javax.annotation.Nullable;
/**
- * Indicates that a Message was edited in a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * Indicates that a Message was edited in a {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}.
*
*
Can be used to detect a Message is edited in either a private or guild channel. Providing a MessageChannel and Message.
* This also includes whether a message is being pinned.
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/package-info.java b/src/main/java/net/dv8tion/jda/api/events/message/package-info.java
index 8b6e531153..0e9cf31aeb 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/package-info.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/package-info.java
@@ -16,10 +16,10 @@
/**
* Events that are fired for {@link net.dv8tion.jda.api.entities.Message Messages} in
- * a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * a {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}.
* Such as {@link net.dv8tion.jda.api.events.message.MessageReceivedEvent receiving}.
*
- *
These events combine all {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}
+ *
These events combine all {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}
* messages but specifications can be found in subpackages.
*
*
Requirements
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/react/GenericMessageReactionEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/react/GenericMessageReactionEvent.java
index 634ae64e6a..5820a8ee87 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/react/GenericMessageReactionEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/react/GenericMessageReactionEvent.java
@@ -17,7 +17,11 @@
package net.dv8tion.jda.api.events.message.react;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.MessageReaction;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.entities.emoji.EmojiUnion;
import net.dv8tion.jda.api.events.message.GenericMessageEvent;
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveAllEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveAllEvent.java
index 43b18bee37..01f308609c 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveAllEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveAllEvent.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.events.message.react;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.message.GenericMessageEvent;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveEmojiEvent.java b/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveEmojiEvent.java
index e985b19bee..e69e90cd09 100644
--- a/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveEmojiEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/message/react/MessageReactionRemoveEmojiEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.message.react;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.MessageReaction;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.entities.emoji.EmojiUnion;
import net.dv8tion.jda.api.events.message.GenericMessageEvent;
diff --git a/src/main/java/net/dv8tion/jda/api/events/stage/GenericStageInstanceEvent.java b/src/main/java/net/dv8tion/jda/api/events/stage/GenericStageInstanceEvent.java
index bad85e368b..9301cd644f 100644
--- a/src/main/java/net/dv8tion/jda/api/events/stage/GenericStageInstanceEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/stage/GenericStageInstanceEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.stage;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.StageChannel;
import net.dv8tion.jda.api.entities.StageInstance;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.events.guild.GenericGuildEvent;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/thread/GenericThreadEvent.java b/src/main/java/net/dv8tion/jda/api/events/thread/GenericThreadEvent.java
index 68e37e2c05..e5de7fd2f6 100644
--- a/src/main/java/net/dv8tion/jda/api/events/thread/GenericThreadEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/thread/GenericThreadEvent.java
@@ -18,7 +18,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.events.Event;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/thread/ThreadHiddenEvent.java b/src/main/java/net/dv8tion/jda/api/events/thread/ThreadHiddenEvent.java
index 4d602adc6b..8971625c50 100644
--- a/src/main/java/net/dv8tion/jda/api/events/thread/ThreadHiddenEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/thread/ThreadHiddenEvent.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.events.thread;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/thread/ThreadRevealedEvent.java b/src/main/java/net/dv8tion/jda/api/events/thread/ThreadRevealedEvent.java
index efe9af36e1..9127af0914 100644
--- a/src/main/java/net/dv8tion/jda/api/events/thread/ThreadRevealedEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/thread/ThreadRevealedEvent.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.events.thread;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/thread/member/GenericThreadMemberEvent.java b/src/main/java/net/dv8tion/jda/api/events/thread/member/GenericThreadMemberEvent.java
index e64e85b280..d62fc537bc 100644
--- a/src/main/java/net/dv8tion/jda/api/events/thread/member/GenericThreadMemberEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/thread/member/GenericThreadMemberEvent.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.ThreadChannel;
import net.dv8tion.jda.api.entities.ThreadMember;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.events.thread.GenericThreadEvent;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberJoinEvent.java b/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberJoinEvent.java
index cf97a65ec2..5d1afa8b17 100644
--- a/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberJoinEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberJoinEvent.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.ThreadChannel;
import net.dv8tion.jda.api.entities.ThreadMember;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberLeaveEvent.java b/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberLeaveEvent.java
index 6ab92b8541..f3676e2104 100644
--- a/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberLeaveEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/thread/member/ThreadMemberLeaveEvent.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.events.thread.member;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.ThreadChannel;
import net.dv8tion.jda.api.entities.ThreadMember;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/events/user/UserTypingEvent.java b/src/main/java/net/dv8tion/jda/api/events/user/UserTypingEvent.java
index 108e843841..f267dec6fc 100644
--- a/src/main/java/net/dv8tion/jda/api/events/user/UserTypingEvent.java
+++ b/src/main/java/net/dv8tion/jda/api/events/user/UserTypingEvent.java
@@ -16,7 +16,11 @@
package net.dv8tion.jda.api.events.user;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import javax.annotation.Nonnull;
@@ -75,7 +79,7 @@ public MessageChannelUnion getChannel()
* Whether the user started typing in a channel of the specified type.
*
* @param type
- * {@link net.dv8tion.jda.api.entities.ChannelType ChannelType}
+ * {@link ChannelType ChannelType}
*
* @return True, if the user started typing in a channel of the specified type
*/
@@ -85,9 +89,9 @@ public boolean isFromType(@Nonnull ChannelType type)
}
/**
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType}
+ * The {@link ChannelType ChannelType}
*
- * @return The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType}
+ * @return The {@link ChannelType ChannelType}
*/
@Nonnull
public ChannelType getType()
diff --git a/src/main/java/net/dv8tion/jda/api/exceptions/InsufficientPermissionException.java b/src/main/java/net/dv8tion/jda/api/exceptions/InsufficientPermissionException.java
index 8548058eff..7229017cec 100644
--- a/src/main/java/net/dv8tion/jda/api/exceptions/InsufficientPermissionException.java
+++ b/src/main/java/net/dv8tion/jda/api/exceptions/InsufficientPermissionException.java
@@ -18,9 +18,9 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.internal.utils.Checks;
import javax.annotation.Nonnull;
@@ -30,7 +30,7 @@
* Indicates that the user is missing a {@link Permission} for some action.
*
* @see net.dv8tion.jda.api.entities.IPermissionHolder#hasPermission(Permission...) IPermissionHolder.hasPermission(Permission...)
- * @see net.dv8tion.jda.api.entities.IPermissionHolder#hasPermission(net.dv8tion.jda.api.entities.GuildChannel, Permission...) IPermissionHolder.hasPermission(GuildChannel, Permission...)
+ * @see net.dv8tion.jda.api.entities.IPermissionHolder#hasPermission(GuildChannel, Permission...) IPermissionHolder.hasPermission(GuildChannel, Permission...)
*/
public class InsufficientPermissionException extends PermissionException
{
@@ -103,9 +103,9 @@ public long getChannelId()
}
/**
- * The {@link net.dv8tion.jda.api.entities.ChannelType} for the {@link #getChannelId() channel id}.
+ * The {@link ChannelType} for the {@link #getChannelId() channel id}.
*
- * @return The channel type or {@link net.dv8tion.jda.api.entities.ChannelType#UNKNOWN}.
+ * @return The channel type or {@link ChannelType#UNKNOWN}.
*
* @since 4.0.0
*/
diff --git a/src/main/java/net/dv8tion/jda/api/exceptions/MissingAccessException.java b/src/main/java/net/dv8tion/jda/api/exceptions/MissingAccessException.java
index f0594b41e2..29c890fef9 100644
--- a/src/main/java/net/dv8tion/jda/api/exceptions/MissingAccessException.java
+++ b/src/main/java/net/dv8tion/jda/api/exceptions/MissingAccessException.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.exceptions;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelType;
-import net.dv8tion.jda.api.entities.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/hooks/VoiceDispatchInterceptor.java b/src/main/java/net/dv8tion/jda/api/hooks/VoiceDispatchInterceptor.java
index eaf91d706c..c8bc59d975 100644
--- a/src/main/java/net/dv8tion/jda/api/hooks/VoiceDispatchInterceptor.java
+++ b/src/main/java/net/dv8tion/jda/api/hooks/VoiceDispatchInterceptor.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.hooks;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.GuildVoiceState;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.managers.DirectAudioController;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.api.utils.data.SerializableData;
diff --git a/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java b/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java
index d38a653676..4aa659b123 100644
--- a/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java
+++ b/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java
@@ -17,7 +17,14 @@
package net.dv8tion.jda.api.interactions;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.ISnowflake;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.interactions.callbacks.*;
import net.dv8tion.jda.api.interactions.commands.Command;
import net.dv8tion.jda.api.interactions.components.Modal;
@@ -149,13 +156,13 @@ default ChannelType getChannelType()
Channel getChannel();
/**
- * The {@link GuildChannel} this interaction happened in.
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel} this interaction happened in.
* If {@link #getChannelType()} is not a guild type, this throws {@link IllegalStateException}!
*
* @throws IllegalStateException
* If {@link #getChannel()} is not a guild channel
*
- * @return The {@link GuildChannel}
+ * @return The {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}
*/
@Nonnull
default GuildChannel getGuildChannel()
@@ -164,13 +171,13 @@ default GuildChannel getGuildChannel()
}
/**
- * The {@link MessageChannel} this interaction happened in.
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel} this interaction happened in.
* If {@link #getChannelType()} is not a message channel type, this throws {@link IllegalStateException}!
*
* @throws IllegalStateException
* If {@link #getChannel()} is not a message channel
*
- * @return The {@link MessageChannel}
+ * @return The {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel}
*/
@Nonnull
default MessageChannel getMessageChannel()
diff --git a/src/main/java/net/dv8tion/jda/api/interactions/commands/Command.java b/src/main/java/net/dv8tion/jda/api/interactions/commands/Command.java
index 7ed4a0bdc0..5081a94351 100644
--- a/src/main/java/net/dv8tion/jda/api/interactions/commands/Command.java
+++ b/src/main/java/net/dv8tion/jda/api/interactions/commands/Command.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.interactions.commands;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.ISnowflake;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.interactions.DiscordLocale;
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
import net.dv8tion.jda.api.interactions.commands.localization.LocalizationMap;
diff --git a/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionMapping.java b/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionMapping.java
index 011af58a4d..f589b23603 100644
--- a/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionMapping.java
+++ b/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionMapping.java
@@ -20,8 +20,9 @@
import gnu.trove.map.hash.TLongObjectHashMap;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildChannelUnion;
-import net.dv8tion.jda.api.entities.channel.unions.GuildMessageChannelUnion;
import net.dv8tion.jda.api.interactions.Interaction;
import net.dv8tion.jda.api.interactions.commands.build.OptionData;
import net.dv8tion.jda.api.utils.data.DataObject;
@@ -314,14 +315,14 @@ public ChannelType getChannelType()
}
/**
- * The resolved {@link GuildChannel} for this option value.
+ * The resolved {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel} for this option value.
* Note that {@link OptionType#CHANNEL OptionType.CHANNEL} can accept channels of any type!
*
* @throws IllegalStateException
* If this option is not of type {@link OptionType#CHANNEL CHANNEL}
* or could not be resolved for unexpected reasons
*
- * @return The resolved {@link GuildChannel}
+ * @return The resolved {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel}
*/
@Nonnull
public GuildChannelUnion getAsChannel()
diff --git a/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionType.java b/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionType.java
index 5fafa06d5f..3462ebcaab 100644
--- a/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionType.java
+++ b/src/main/java/net/dv8tion/jda/api/interactions/commands/OptionType.java
@@ -62,7 +62,7 @@ public enum OptionType
*/
USER(6),
/**
- * Options which accept a single {@link net.dv8tion.jda.api.entities.GuildChannel GuildChannel}
+ * Options which accept a single {@link net.dv8tion.jda.api.entities.channel.middleman.GuildChannel GuildChannel}
* @see OptionMapping#getAsChannel()
*/
CHANNEL(7),
diff --git a/src/main/java/net/dv8tion/jda/api/interactions/commands/build/OptionData.java b/src/main/java/net/dv8tion/jda/api/interactions/commands/build/OptionData.java
index 4bf558db9c..48877cd4b5 100644
--- a/src/main/java/net/dv8tion/jda/api/interactions/commands/build/OptionData.java
+++ b/src/main/java/net/dv8tion/jda/api/interactions/commands/build/OptionData.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.api.interactions.commands.build;
-import net.dv8tion.jda.api.entities.ChannelType;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.events.interaction.command.CommandAutoCompleteInteractionEvent;
import net.dv8tion.jda.api.interactions.DiscordLocale;
import net.dv8tion.jda.api.interactions.commands.Command;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/AudioManager.java b/src/main/java/net/dv8tion/jda/api/managers/AudioManager.java
index 83f16605e8..eb5f0c3c1c 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/AudioManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/AudioManager.java
@@ -23,8 +23,9 @@
import net.dv8tion.jda.api.audio.SpeakingMode;
import net.dv8tion.jda.api.audio.hooks.ConnectionListener;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.internal.utils.Checks;
import net.dv8tion.jda.internal.utils.JDALogger;
import org.slf4j.Logger;
@@ -38,7 +39,7 @@
/**
* AudioManager deals with creating, managing and severing audio connections to
- * {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannels}. Also controls audio handlers.
+ * {@link VoiceChannel VoiceChannels}. Also controls audio handlers.
*
* @see Guild#getAudioManager()
*/
@@ -48,16 +49,16 @@ public interface AudioManager
Logger LOG = JDALogger.getLog(AudioManager.class);
/**
- * Starts the process to create an audio connection with an {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}
+ * Starts the process to create an audio connection with an {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}
* or, if an audio connection is already open, JDA will move the connection to the provided AudioChannel.
- * Note : Currently you can only be connected to a single {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}
+ * Note : Currently you can only be connected to a single {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}
* per {@link net.dv8tion.jda.api.entities.Guild Guild}.
*
*
This method will automatically move the current connection if one connection is already open in this underlying {@link Guild}.
* Current connections can be closed with {@link #closeAudioConnection()}.
*
* @param channel
- * The {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} to open an audio connection with.
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} to open an audio connection with.
*
* @throws IllegalArgumentException
*
@@ -70,14 +71,14 @@ public interface AudioManager
*
* If the currently logged in account does not have the Permission {@link net.dv8tion.jda.api.Permission#VOICE_CONNECT VOICE_CONNECT}
* If the currently logged in account does not have the Permission {@link net.dv8tion.jda.api.Permission#VOICE_MOVE_OTHERS VOICE_MOVE_OTHERS}
- * and the {@link net.dv8tion.jda.api.entities.VoiceChannel#getUserLimit() user limit} has been exceeded!
+ * and the {@link VoiceChannel#getUserLimit() user limit} has been exceeded!
*
*/
void openAudioConnection(AudioChannel channel);
/**
* Close down the current audio connection of this {@link net.dv8tion.jda.api.entities.Guild Guild}
- * and disconnects from the {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}.
+ * and disconnects from the {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}.
* If this is called when JDA doesn't have an audio connection, nothing happens.
*/
void closeAudioConnection();
@@ -175,11 +176,11 @@ default void setSpeakingMode(@Nonnull SpeakingMode... mode)
Guild getGuild();
/**
- * The {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} that JDA currently has an audio connection
- * to. If JDA currently doesn't have an audio connection to an {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}
+ * The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} that JDA currently has an audio connection
+ * to. If JDA currently doesn't have an audio connection to an {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}
* this will return {@code null}.
*
- * @return The {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} the audio connection is connected to
+ * @return The {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} the audio connection is connected to
* or {@code null} if not connected.
*/
@Nullable
@@ -187,8 +188,8 @@ default void setSpeakingMode(@Nonnull SpeakingMode... mode)
/**
* This can be used to find out if JDA currently has an active audio connection with a
- * {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel}. If this returns true, then
- * {@link #getConnectedChannel()} will return the {@link net.dv8tion.jda.api.entities.AudioChannel AudioChannel} which
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel}. If this returns true, then
+ * {@link #getConnectedChannel()} will return the {@link net.dv8tion.jda.api.entities.channel.middleman.AudioChannel AudioChannel} which
* JDA is connected to.
*
* @return True, if JDA currently has an active audio connection.
diff --git a/src/main/java/net/dv8tion/jda/api/managers/DirectAudioController.java b/src/main/java/net/dv8tion/jda/api/managers/DirectAudioController.java
index e3252cbaea..7e4d52dfe0 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/DirectAudioController.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/DirectAudioController.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.managers;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/GuildManager.java b/src/main/java/net/dv8tion/jda/api/managers/GuildManager.java
index 6a34aa6b62..92f6850d07 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/GuildManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/GuildManager.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Icon;
-import net.dv8tion.jda.api.entities.TextChannel;
-import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
@@ -190,7 +190,7 @@ public interface GuildManager extends Manager
GuildManager setSplash(@Nullable Icon splash);
/**
- * Sets the AFK {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
+ * Sets the AFK {@link net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel VoiceChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
*
* @param afkChannel
* The new afk channel for this {@link net.dv8tion.jda.api.entities.Guild Guild}
@@ -206,7 +206,7 @@ public interface GuildManager extends Manager
GuildManager setAfkChannel(@Nullable VoiceChannel afkChannel);
/**
- * Sets the system {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
+ * Sets the system {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel TextChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
*
* @param systemChannel
* The new system channel for this {@link net.dv8tion.jda.api.entities.Guild Guild}
@@ -222,7 +222,7 @@ public interface GuildManager extends Manager
GuildManager setSystemChannel(@Nullable TextChannel systemChannel);
/**
- * Sets the rules {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
+ * Sets the rules {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel TextChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
*
* @param rulesChannel
* The new rules channel for this {@link net.dv8tion.jda.api.entities.Guild Guild}
@@ -238,7 +238,7 @@ public interface GuildManager extends Manager
GuildManager setRulesChannel(@Nullable TextChannel rulesChannel);
/**
- * Sets the community updates {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
+ * Sets the community updates {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel TextChannel} of this {@link net.dv8tion.jda.api.entities.Guild Guild}.
*
* @param communityUpdatesChannel
* The new community updates channel for this {@link net.dv8tion.jda.api.entities.Guild Guild}
diff --git a/src/main/java/net/dv8tion/jda/api/managers/PermOverrideManager.java b/src/main/java/net/dv8tion/jda/api/managers/PermOverrideManager.java
index 000826e312..96726ac71b 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/PermOverrideManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/PermOverrideManager.java
@@ -18,9 +18,9 @@
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.IPermissionContainerUnion;
import net.dv8tion.jda.internal.utils.Checks;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/WebhookManager.java b/src/main/java/net/dv8tion/jda/api/managers/WebhookManager.java
index aa4741a950..bb33eeaa77 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/WebhookManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/WebhookManager.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Icon;
-import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.entities.Webhook;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.channel.unions.IWebhookContainerUnion;
import javax.annotation.CheckReturnValue;
@@ -103,11 +103,11 @@ public interface WebhookManager extends Manager
Webhook getWebhook();
/**
- * The {@link net.dv8tion.jda.api.entities.IWebhookContainer channel} that this Manager's
+ * The {@link net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer channel} that this Manager's
* {@link net.dv8tion.jda.api.entities.Webhook Webhook} is in.
* This is logically the same as calling {@code getWebhook().getChannel()}
*
- * @return The parent {@link net.dv8tion.jda.api.entities.IWebhookContainer} instance.
+ * @return The parent {@link net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer} instance.
*/
@Nonnull
default IWebhookContainerUnion getChannel()
@@ -160,12 +160,12 @@ default Guild getGuild()
WebhookManager setAvatar(@Nullable Icon icon);
/**
- * Sets the {@link net.dv8tion.jda.api.entities.TextChannel TextChannel} of the selected {@link net.dv8tion.jda.api.entities.Webhook Webhook}.
+ * Sets the {@link TextChannel TextChannel} of the selected {@link net.dv8tion.jda.api.entities.Webhook Webhook}.
*
* A webhook channel must not be {@code null} and must be in the same {@link net.dv8tion.jda.api.entities.Guild Guild}!
*
* @param channel
- * The new {@link net.dv8tion.jda.api.entities.TextChannel TextChannel}
+ * The new {@link TextChannel TextChannel}
* for the selected {@link net.dv8tion.jda.api.entities.Webhook Webhook}
*
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/ChannelManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/ChannelManager.java
index 0e95e03f48..99988effcd 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/ChannelManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/ChannelManager.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.api.managers.channel;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.managers.Manager;
import javax.annotation.CheckReturnValue;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/ICategorizableChannelManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/ICategorizableChannelManager.java
index 7e00d410cc..c499cdea38 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/ICategorizableChannelManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/ICategorizableChannelManager.java
@@ -17,7 +17,13 @@
package net.dv8tion.jda.api.managers.channel.attribute;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.IPermissionHolder;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.managers.channel.ChannelManager;
import javax.annotation.CheckReturnValue;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPermissionContainerManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPermissionContainerManager.java
index d5afc56b0d..48c9c2b10a 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPermissionContainerManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPermissionContainerManager.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.managers.channel.attribute;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
import net.dv8tion.jda.api.entities.IPermissionHolder;
import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
import net.dv8tion.jda.api.managers.channel.ChannelManager;
import javax.annotation.CheckReturnValue;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPositionableChannelManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPositionableChannelManager.java
index 62618dade1..86791f9a46 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPositionableChannelManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/attribute/IPositionableChannelManager.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.managers.channel.attribute;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.IPositionableChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.IPositionableChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.managers.channel.ChannelManager;
import javax.annotation.CheckReturnValue;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/CategoryManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/CategoryManager.java
index 6c80bc640f..be36dc80cd 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/CategoryManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/CategoryManager.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.api.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
import net.dv8tion.jda.api.managers.channel.attribute.IPermissionContainerManager;
import net.dv8tion.jda.api.managers.channel.attribute.IPositionableChannelManager;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/NewsChannelManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/NewsChannelManager.java
index cf698bd417..2af8a5373c 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/NewsChannelManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/NewsChannelManager.java
@@ -16,10 +16,10 @@
package net.dv8tion.jda.api.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.NewsChannel;
-import net.dv8tion.jda.api.entities.TextChannel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.managers.channel.middleman.StandardGuildMessageChannelManager;
import javax.annotation.CheckReturnValue;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/StageChannelManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/StageChannelManager.java
index b61304d333..4ffa251d3d 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/StageChannelManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/StageChannelManager.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.api.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.StageChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.managers.channel.middleman.AudioChannelManager;
import net.dv8tion.jda.api.managers.channel.middleman.StandardGuildChannelManager;
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/TextChannelManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/TextChannelManager.java
index 43805dab87..2ff48e0796 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/TextChannelManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/concrete/TextChannelManager.java
@@ -17,14 +17,16 @@
package net.dv8tion.jda.api.managers.channel.concrete;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.managers.channel.middleman.StandardGuildMessageChannelManager;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
/**
- * Manager providing functionality common for all {@link TextChannel TextChannels}.
+ * Manager providing functionality common for all {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel TextChannels}.
*
*
Example
*
{@code
@@ -36,7 +38,7 @@
* .queue();
* }
*
- * @see TextChannel#getManager()
+ * @see net.dv8tion.jda.api.entities.channel.concrete.TextChannel#getManager()
*/
public interface TextChannelManager extends StandardGuildMessageChannelManager
{
@@ -51,7 +53,7 @@ public interface TextChannelManager extends StandardGuildMessageChannelManagerslowmode of the selected {@link ThreadChannel}.
* Provide {@code 0} to reset the slowmode of the {@link ThreadChannel}.
*
- * A channel slowmode must not be negative nor greater than {@link net.dv8tion.jda.api.entities.TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}!
+ *
A channel slowmode must not be negative nor greater than {@link net.dv8tion.jda.api.entities.channel.concrete.TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}!
*
*
Note: Bots are unaffected by this.
* Having {@link net.dv8tion.jda.api.Permission#MESSAGE_MANAGE MESSAGE_MANAGE} or
@@ -57,7 +57,7 @@ public interface ThreadChannelManager extends ChannelManagerExample
* {@code
diff --git a/src/main/java/net/dv8tion/jda/api/managers/channel/middleman/StandardGuildMessageChannelManager.java b/src/main/java/net/dv8tion/jda/api/managers/channel/middleman/StandardGuildMessageChannelManager.java
index 09248c86b5..94b792a86f 100644
--- a/src/main/java/net/dv8tion/jda/api/managers/channel/middleman/StandardGuildMessageChannelManager.java
+++ b/src/main/java/net/dv8tion/jda/api/managers/channel/middleman/StandardGuildMessageChannelManager.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.api.managers.channel.middleman;
-import net.dv8tion.jda.api.entities.StandardGuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
import net.dv8tion.jda.api.managers.channel.attribute.IAgeRestrictedChannelManager;
import javax.annotation.CheckReturnValue;
@@ -24,7 +24,7 @@
import javax.annotation.Nullable;
/**
- * Manager providing functionality common for all {@link net.dv8tion.jda.api.entities.StandardGuildMessageChannel StandardGuildMessageChannels}.
+ * Manager providing functionality common for all {@link net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel StandardGuildMessageChannels}.
*
* Example
*
{@code
diff --git a/src/main/java/net/dv8tion/jda/api/requests/GatewayIntent.java b/src/main/java/net/dv8tion/jda/api/requests/GatewayIntent.java
index 4c26770f7e..4e9a98fcb7 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/GatewayIntent.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/GatewayIntent.java
@@ -146,7 +146,7 @@ public enum GatewayIntent
*
* This specifically affects messages received through the message history of a channel, or through {@link GenericMessageEvent Message Events}.
* The content restriction does not apply if the message mentions the bot directly (using @username), sent by the bot itself,
- * or if the message is a direct message from a {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}.
+ * or if the message is a direct message from a {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel}.
* Affected are all user-generated content fields of a message, such as:
*
* {@link Message#getContentRaw()}, {@link Message#getContentDisplay()}, {@link Message#getContentStripped()}
diff --git a/src/main/java/net/dv8tion/jda/api/requests/RestAction.java b/src/main/java/net/dv8tion/jda/api/requests/RestAction.java
index 3a0feed5ee..69ff0131f8 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/RestAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/RestAction.java
@@ -99,7 +99,7 @@
* it was sent. Thus we can simply use the asynchronous {@link #queue()} operation which will
* be executed on a rate limit worker thread in the background, without blocking your current thread:
*
- * {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel} channel = event.getChannel();
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel} channel = event.getChannel();
* {@literal RestAction} action = channel.sendMessage("Hello World");
* action.{@link #queue() queue()}; // Execute the rest action asynchronously
*
@@ -111,7 +111,7 @@
*
* Example Queue: (recommended)
*
- * {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel} channel = event.getChannel();
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel} channel = event.getChannel();
* final long time = System.currentTimeMillis();
* {@literal RestAction} action = channel.sendMessage("Calculating Response Time...");
* {@link java.util.function.Consumer Consumer}{@literal } callback = (message) {@literal -> {
@@ -125,7 +125,7 @@
*
* Example Complete:
*
- * {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel} channel = event.getChannel();
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel} channel = event.getChannel();
* final long time = System.currentTimeMillis();
* {@literal RestAction} action = channel.sendMessage("Calculating Response Time...");
* Message message = action.{@link #complete() complete()};
@@ -135,7 +135,7 @@
*
* Example Planning:
*
- * {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel} channel = event.getChannel();
+ * {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel} channel = event.getChannel();
* {@literal RestAction} action = channel.sendMessage("This message will destroy itself in 5 seconds!");
* action.queue((message) {@literal ->} message.delete().{@link #queueAfter(long, TimeUnit) queueAfter(5, TimeUnit.SECONDS)});
*
@@ -529,7 +529,7 @@ default RestAction deadline(long timestamp)
* @throws java.util.concurrent.RejectedExecutionException
* If the requester has been shutdown by {@link JDA#shutdown()} or {@link JDA#shutdownNow()}
*
- * @see net.dv8tion.jda.api.entities.MessageChannel#sendMessage(java.lang.CharSequence) MessageChannel.sendMessage(CharSequence)
+ * @see net.dv8tion.jda.api.entities.channel.middleman.MessageChannel#sendMessage(java.lang.CharSequence) MessageChannel.sendMessage(CharSequence)
* @see #queue(java.util.function.Consumer) queue(Consumer)
* @see #queue(java.util.function.Consumer, java.util.function.Consumer) queue(Consumer, Consumer)
*/
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/ChannelAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/ChannelAction.java
index 1db918f01c..f2d869679c 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/ChannelAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/ChannelAction.java
@@ -18,7 +18,14 @@
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.IPermissionHolder;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.internal.utils.Checks;
@@ -42,8 +49,8 @@
* @see net.dv8tion.jda.api.entities.Guild#createVoiceChannel(String)
* @see net.dv8tion.jda.api.entities.Guild#createStageChannel(String)
* @see net.dv8tion.jda.api.entities.Guild#createCategory(String)
- * @see ICopyableChannel#createCopy()
- * @see ICopyableChannel#createCopy(Guild)
+ * @see net.dv8tion.jda.api.entities.channel.attribute.ICopyableChannel#createCopy()
+ * @see net.dv8tion.jda.api.entities.channel.attribute.ICopyableChannel#createCopy(Guild)
*
* @param
* The type of channel to create
@@ -94,7 +101,7 @@ public interface ChannelAction extends AuditableRestActi
ChannelAction setName(@Nonnull String name);
/**
- * Sets the {@link net.dv8tion.jda.api.entities.Category Category} for the new GuildChannel.
+ * Sets the {@link Category Category} for the new GuildChannel.
*
* You can use {@link #syncPermissionOverrides()} to sync the channel with the category.
*
@@ -185,7 +192,7 @@ public interface ChannelAction extends AuditableRestActi
* @throws UnsupportedOperationException
* If this ChannelAction is not for a TextChannel
* @throws IllegalArgumentException
- * If the {@code slowmode} is greater than {@link net.dv8tion.jda.api.entities.TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}, or less than 0
+ * If the {@code slowmode} is greater than {@link TextChannel#MAX_SLOWMODE TextChannel.MAX_SLOWMODE}, or less than 0
*
* @return The current ChannelAction, for chaining convenience
*/
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/GuildAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/GuildAction.java
index 3635367afa..b62324c398 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/GuildAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/GuildAction.java
@@ -17,10 +17,10 @@
package net.dv8tion.jda.api.requests.restaction;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.Icon;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.api.utils.data.SerializableData;
@@ -130,7 +130,7 @@ public interface GuildAction extends RestAction
/**
* Adds a {@link GuildChannel GuildChannel} to the resulting
- * Guild. This cannot be of type {@link net.dv8tion.jda.api.entities.ChannelType#CATEGORY CATEGORY}!
+ * Guild. This cannot be of type {@link ChannelType#CATEGORY CATEGORY}!
*
* @param channel
* The {@link ChannelData ChannelData}
@@ -195,8 +195,8 @@ public interface GuildAction extends RestAction
* instance and adds it to this GuildAction.
*
* @param type
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} of the resulting GuildChannel
- * This may be of type {@link net.dv8tion.jda.api.entities.ChannelType#TEXT TEXT} or {@link net.dv8tion.jda.api.entities.ChannelType#VOICE VOICE}!
+ * The {@link ChannelType ChannelType} of the resulting GuildChannel
+ * This may be of type {@link ChannelType#TEXT TEXT} or {@link ChannelType#VOICE VOICE}!
* @param name
* The name of the channel.
*
@@ -506,8 +506,8 @@ class ChannelData implements SerializableData
* of a {@link net.dv8tion.jda.api.entities.Guild Guild}!
*
* @param type
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} of the resulting GuildChannel
- * This may be of type {@link net.dv8tion.jda.api.entities.ChannelType#TEXT TEXT} or {@link net.dv8tion.jda.api.entities.ChannelType#VOICE VOICE}!
+ * The {@link ChannelType ChannelType} of the resulting GuildChannel
+ * This may be of type {@link ChannelType#TEXT TEXT} or {@link ChannelType#VOICE VOICE}!
* @param name
* The name of the channel.
*
@@ -532,7 +532,7 @@ public ChannelData(ChannelType type, String name)
/**
* Sets the topic for this channel.
- * These are only relevant to channels of type {@link net.dv8tion.jda.api.entities.ChannelType#TEXT TEXT}.
+ * These are only relevant to channels of type {@link ChannelType#TEXT TEXT}.
*
* @param topic
* The topic for the channel
@@ -553,7 +553,7 @@ public ChannelData setTopic(@Nullable String topic)
/**
* Sets the whether this channel should be marked NSFW.
- * These are only relevant to channels of type {@link net.dv8tion.jda.api.entities.ChannelType#TEXT TEXT}.
+ * These are only relevant to channels of type {@link ChannelType#TEXT TEXT}.
*
* @param nsfw
* Whether this channel should be marked NSFW
@@ -569,7 +569,7 @@ public ChannelData setNSFW(@Nullable Boolean nsfw)
/**
* Sets the bitrate for this channel.
- * These are only relevant to channels of type {@link net.dv8tion.jda.api.entities.ChannelType#VOICE VOICE}.
+ * These are only relevant to channels of type {@link ChannelType#VOICE VOICE}.
*
* @param bitrate
* The bitrate for the channel (8000-96000)
@@ -593,7 +593,7 @@ public ChannelData setBitrate(@Nullable Integer bitrate)
/**
* Sets the userlimit for this channel.
- * These are only relevant to channels of type {@link net.dv8tion.jda.api.entities.ChannelType#VOICE VOICE}.
+ * These are only relevant to channels of type {@link ChannelType#VOICE VOICE}.
*
* @param userlimit
* The userlimit for the channel (0-99)
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/InviteAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/InviteAction.java
index 29c85ef920..c022b57da0 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/InviteAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/InviteAction.java
@@ -32,7 +32,7 @@
* {@link net.dv8tion.jda.api.entities.Invite Invite} Builder system created as an extension of {@link net.dv8tion.jda.api.requests.RestAction}
* Provides an easy way to gather and deliver information to Discord to create {@link net.dv8tion.jda.api.entities.Invite Invites}.
*
- * @see net.dv8tion.jda.api.entities.IInviteContainer#createInvite()
+ * @see net.dv8tion.jda.api.entities.channel.attribute.IInviteContainer#createInvite()
*/
public interface InviteAction extends AuditableRestAction
{
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageCreateAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageCreateAction.java
index c87e3b4fd6..b15e92444e 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageCreateAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageCreateAction.java
@@ -17,6 +17,7 @@
package net.dv8tion.jda.api.requests.restaction;
import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.sticker.GuildSticker;
import net.dv8tion.jda.api.entities.sticker.Sticker;
import net.dv8tion.jda.api.entities.sticker.StickerSnowflake;
@@ -33,9 +34,9 @@
import java.util.Collection;
/**
- * Specialized {@link net.dv8tion.jda.api.requests.RestAction RestAction} used for sending messages to {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannels}.
+ * Specialized {@link net.dv8tion.jda.api.requests.RestAction RestAction} used for sending messages to {@link MessageChannel MessageChannels}.
*
- * @see net.dv8tion.jda.api.entities.MessageChannel#sendMessage(MessageCreateData) MessageChannel.sendMessage(...)
+ * @see MessageChannel#sendMessage(MessageCreateData) MessageChannel.sendMessage(...)
*/
public interface MessageCreateAction extends MessageCreateRequest, FluentRestAction
{
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageEditAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageEditAction.java
index 27d1f465da..b288aef2eb 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageEditAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/MessageEditAction.java
@@ -17,14 +17,15 @@
package net.dv8tion.jda.api.requests.restaction;
import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.requests.FluentRestAction;
import net.dv8tion.jda.api.utils.messages.MessageEditData;
import net.dv8tion.jda.api.utils.messages.MessageEditRequest;
/**
- * Specialized {@link net.dv8tion.jda.api.requests.RestAction RestAction} used for editing existing messages in {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannels}.
+ * Specialized {@link net.dv8tion.jda.api.requests.RestAction RestAction} used for editing existing messages in {@link MessageChannel MessageChannels}.
*
- * @see net.dv8tion.jda.api.entities.MessageChannel#editMessageById(long, MessageEditData) MessageChannel.editMessageById(...)
+ * @see MessageChannel#editMessageById(long, MessageEditData) MessageChannel.editMessageById(...)
*/
public interface MessageEditAction extends MessageEditRequest, FluentRestAction
{
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/PermissionOverrideAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/PermissionOverrideAction.java
index d0c3eab30f..b78adec0de 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/PermissionOverrideAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/PermissionOverrideAction.java
@@ -18,6 +18,7 @@
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.internal.utils.Checks;
import javax.annotation.CheckReturnValue;
@@ -37,7 +38,7 @@
* @since 3.0
*
* @see net.dv8tion.jda.api.entities.PermissionOverride#getManager()
- * @see IPermissionContainer#upsertPermissionOverride(IPermissionHolder)
+ * @see net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer#upsertPermissionOverride(IPermissionHolder)
*/
public interface PermissionOverrideAction extends AuditableRestAction
{
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/StageInstanceAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/StageInstanceAction.java
index 425cf98ae7..1d19a5c039 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/StageInstanceAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/StageInstanceAction.java
@@ -28,7 +28,7 @@
/**
* Specialized {@link RestAction} used to create a {@link StageInstance}
*
- * @see net.dv8tion.jda.api.entities.StageChannel#createStageInstance(String)
+ * @see net.dv8tion.jda.api.entities.channel.concrete.StageChannel#createStageInstance(String)
*/
public interface StageInstanceAction extends RestAction
{
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/ThreadChannelAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/ThreadChannelAction.java
index a5f8268f95..2edd79fb26 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/ThreadChannelAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/ThreadChannelAction.java
@@ -16,7 +16,11 @@
package net.dv8tion.jda.api.requests.restaction;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
@@ -30,10 +34,10 @@
* This extension allows setting properties before executing the action.
*
* @see Message#createThreadChannel(String)
- * @see IThreadContainer#createThreadChannel(String)
- * @see IThreadContainer#createThreadChannel(String, boolean)
- * @see IThreadContainer#createThreadChannel(String, long)
- * @see IThreadContainer#createThreadChannel(String, String)
+ * @see net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer#createThreadChannel(String)
+ * @see net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer#createThreadChannel(String, boolean)
+ * @see net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer#createThreadChannel(String, long)
+ * @see net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer#createThreadChannel(String, String)
*/
public interface ThreadChannelAction extends AuditableRestAction
{
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/WebhookAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/WebhookAction.java
index 912d1968fc..0e18937835 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/WebhookAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/WebhookAction.java
@@ -19,6 +19,7 @@
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Icon;
import net.dv8tion.jda.api.entities.Webhook;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.channel.unions.IWebhookContainerUnion;
import javax.annotation.CheckReturnValue;
@@ -31,7 +32,7 @@
* {@link net.dv8tion.jda.api.entities.Webhook Webhook} Builder system created as an extension of {@link net.dv8tion.jda.api.requests.RestAction}
* Provides an easy way to gather and deliver information to Discord to create {@link net.dv8tion.jda.api.entities.Webhook Webhooks}.
*
- * @see net.dv8tion.jda.api.entities.TextChannel#createWebhook(String)
+ * @see TextChannel#createWebhook(String)
*/
public interface WebhookAction extends AuditableRestAction
{
@@ -48,7 +49,7 @@ public interface WebhookAction extends AuditableRestAction
WebhookAction deadline(long timestamp);
/**
- * The {@link net.dv8tion.jda.api.entities.IWebhookContainer channel} to create this webhook in.
+ * The {@link net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer channel} to create this webhook in.
*
* @return The channel
*/
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/order/CategoryOrderAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/order/CategoryOrderAction.java
index ec0f02d3f2..e15150eb50 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/order/CategoryOrderAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/order/CategoryOrderAction.java
@@ -16,13 +16,13 @@
package net.dv8tion.jda.api.requests.restaction.order;
-import net.dv8tion.jda.api.entities.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
import javax.annotation.Nonnull;
/**
* An extension of {@link ChannelOrderAction ChannelOrderAction} with
- * similar functionality, but constrained to the bounds of a single {@link net.dv8tion.jda.api.entities.Category Category}.
+ * similar functionality, but constrained to the bounds of a single {@link net.dv8tion.jda.api.entities.channel.concrete.Category Category}.
* To apply the changes you must finish the {@link net.dv8tion.jda.api.requests.RestAction RestAction}.
*
* Before you can use any of the {@code move} methods
@@ -36,10 +36,10 @@
public interface CategoryOrderAction extends ChannelOrderAction
{
/**
- * Gets the {@link net.dv8tion.jda.api.entities.Category Category}
+ * Gets the {@link net.dv8tion.jda.api.entities.channel.concrete.Category Category}
* controlled by this CategoryOrderAction.
*
- * @return The {@link net.dv8tion.jda.api.entities.Category Category}
+ * @return The {@link net.dv8tion.jda.api.entities.channel.concrete.Category Category}
* of this CategoryOrderAction.
*/
@Nonnull
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/order/ChannelOrderAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/order/ChannelOrderAction.java
index 801595f36e..0fa0e35086 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/order/ChannelOrderAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/order/ChannelOrderAction.java
@@ -16,10 +16,10 @@
package net.dv8tion.jda.api.requests.restaction.order;
-import net.dv8tion.jda.api.entities.Category;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
@@ -55,7 +55,7 @@ public interface ChannelOrderAction extends OrderActionMultiple different {@link net.dv8tion.jda.api.entities.ChannelType ChannelTypes} can
+ * Multiple different {@link ChannelType ChannelTypes} can
* share a common sorting bucket.
*
* @return The sorting bucket
@@ -63,11 +63,11 @@ public interface ChannelOrderAction extends OrderAction getChannelTypes()
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/MessagePaginationAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/MessagePaginationAction.java
index 94af325c32..7af4542bd1 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/MessagePaginationAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/MessagePaginationAction.java
@@ -16,9 +16,9 @@
package net.dv8tion.jda.api.requests.restaction.pagination;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Message;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import javax.annotation.Nonnull;
@@ -28,7 +28,7 @@
* Note that this implementation is not considered thread-safe as modifications to the cache are not done
* with a lock. Calling methods on this class from multiple threads is not recommended.
*
- * Must provide not-null {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel} to compile a valid
+ *
Must provide not-null {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel} to compile a valid
* pagination route.
*
*
Limits:
@@ -62,10 +62,10 @@
public interface MessagePaginationAction extends PaginationAction
{
/**
- * The {@link net.dv8tion.jda.api.entities.ChannelType ChannelType} of
- * the targeted {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * The {@link ChannelType ChannelType} of
+ * the targeted {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}.
*
- * @return {@link net.dv8tion.jda.api.entities.ChannelType ChannelType}
+ * @return {@link ChannelType ChannelType}
*/
@Nonnull
default ChannelType getType()
@@ -74,7 +74,7 @@ default ChannelType getType()
}
/**
- * The targeted {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}
+ * The targeted {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}
*
* @return The MessageChannel instance
*/
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ReactionPaginationAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ReactionPaginationAction.java
index ec6142ad08..d2bd9f220c 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ReactionPaginationAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ReactionPaginationAction.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.api.requests.restaction.pagination;
import net.dv8tion.jda.api.entities.Message;
-import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.MessageReaction;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ThreadChannelPaginationAction.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ThreadChannelPaginationAction.java
index 1f0155e8be..dab41cc2e9 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ThreadChannelPaginationAction.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/ThreadChannelPaginationAction.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.api.requests.restaction.pagination;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.IThreadContainer;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.entities.channel.unions.IThreadContainerUnion;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/package-info.java b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/package-info.java
index 31f8ef0866..8f170cc573 100644
--- a/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/package-info.java
+++ b/src/main/java/net/dv8tion/jda/api/requests/restaction/pagination/package-info.java
@@ -16,7 +16,7 @@
/**
* Extensions of {@link net.dv8tion.jda.api.requests.RestAction RestAction} that allow
- * to access paginated discord endpoints like the message history of a {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * to access paginated discord endpoints like the message history of a {@link net.dv8tion.jda.api.entities.channel.middleman.MessageChannel MessageChannel}.
* The {@link net.dv8tion.jda.api.requests.restaction.pagination.PaginationAction PaginationAction} is designed to work
* as an {@link java.lang.Iterable Iterable} of the specified endpoint. Each implementation specifies the endpoints it will
* use in the class-level javadoc.
diff --git a/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManager.java b/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManager.java
index 3df7d61bd9..9d7fd5d33e 100644
--- a/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManager.java
+++ b/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManager.java
@@ -21,6 +21,7 @@
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.SelfUser;
+import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.requests.GatewayIntent;
import net.dv8tion.jda.api.utils.ChunkingFilter;
import net.dv8tion.jda.api.utils.MiscUtil;
@@ -32,7 +33,6 @@
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.utils.Checks;
-import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.internal.utils.JDALogger;
import net.dv8tion.jda.internal.utils.UnlockHook;
import net.dv8tion.jda.internal.utils.cache.ShardCacheViewImpl;
diff --git a/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManagerBuilder.java b/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManagerBuilder.java
index f131f6ccea..f83f6517ef 100644
--- a/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManagerBuilder.java
+++ b/src/main/java/net/dv8tion/jda/api/sharding/DefaultShardManagerBuilder.java
@@ -21,11 +21,11 @@
import net.dv8tion.jda.api.audio.factory.IAudioSendFactory;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.events.Event;
+import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.hooks.IEventManager;
import net.dv8tion.jda.api.hooks.VoiceDispatchInterceptor;
import net.dv8tion.jda.api.requests.GatewayIntent;
import net.dv8tion.jda.api.requests.RestAction;
-import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.utils.ChunkingFilter;
import net.dv8tion.jda.api.utils.Compression;
import net.dv8tion.jda.api.utils.MemberCachePolicy;
diff --git a/src/main/java/net/dv8tion/jda/api/sharding/ShardManager.java b/src/main/java/net/dv8tion/jda/api/sharding/ShardManager.java
index 17b924e36b..3a13b948f2 100644
--- a/src/main/java/net/dv8tion/jda/api/sharding/ShardManager.java
+++ b/src/main/java/net/dv8tion/jda/api/sharding/ShardManager.java
@@ -19,8 +19,14 @@
import net.dv8tion.jda.api.JDA.Status;
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.*;
-import net.dv8tion.jda.api.entities.channel.IGuildChannelContainer;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IGuildChannelContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
+import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.requests.GatewayIntent;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.utils.MiscUtil;
@@ -32,12 +38,10 @@
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.utils.Checks;
-import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-
import java.util.*;
import java.util.function.Function;
import java.util.function.IntFunction;
@@ -230,7 +234,7 @@ default double getAverageGatewayPing()
/**
* {@link net.dv8tion.jda.api.utils.cache.SnowflakeCacheView SnowflakeCacheView} of
- * all cached {@link net.dv8tion.jda.api.entities.Category Categories} visible to this ShardManager instance.
+ * all cached {@link net.dv8tion.jda.api.entities.channel.concrete.Category Categories} visible to this ShardManager instance.
*
* @return {@link net.dv8tion.jda.api.utils.cache.SnowflakeCacheView SnowflakeCacheView}
*/
@@ -295,7 +299,7 @@ default SnowflakeCacheView getEmojiCache()
*
* Hint : To check whether you can use a {@link RichCustomEmoji} in a specific
* context you can use {@link RichCustomEmoji#canInteract(net.dv8tion.jda.api.entities.Member)} or {@link
- * RichCustomEmoji#canInteract(net.dv8tion.jda.api.entities.User, net.dv8tion.jda.api.entities.MessageChannel)}
+ * RichCustomEmoji#canInteract(net.dv8tion.jda.api.entities.User, MessageChannel)}
*
*
Unicode emojis are not included as {@link RichCustomEmoji}!
*
@@ -584,14 +588,14 @@ default User getUserByTag(@Nonnull String username, @Nonnull String discriminato
}
/**
- * An unmodifiable list of all known {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannels}.
+ * An unmodifiable list of all known {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannels}.
*
*
This copies the backing store into a list. This means every call
* creates a new list with O(n) complexity. It is recommended to store this into
* a local variable or use {@link #getPrivateChannelCache()} and use its more efficient
* versions of handling these values.
*
- * @return Possibly-empty list of all {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannels}.
+ * @return Possibly-empty list of all {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannels}.
*/
@Nonnull
default List getPrivateChannels()
@@ -694,14 +698,14 @@ default T getChannelById(@Nonnull Class type, long id)
}
/**
- * This returns the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} which has the same id as the one provided.
- * If there is no known {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with an id that matches the provided
+ * This returns the {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel} which has the same id as the one provided.
+ * If there is no known {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel} with an id that matches the provided
* one, then this will return {@code null}.
*
* @param id
- * The id of the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}.
+ * The id of the {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel}.
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with matching id.
+ * @return Possibly-null {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel} with matching id.
*/
@Nullable
default PrivateChannel getPrivateChannelById(final long id)
@@ -710,17 +714,17 @@ default PrivateChannel getPrivateChannelById(final long id)
}
/**
- * This returns the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} which has the same id as the one provided.
- * If there is no known {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with an id that matches the provided
+ * This returns the {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel} which has the same id as the one provided.
+ * If there is no known {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel} with an id that matches the provided
* one, this will return {@code null}.
*
* @param id
- * The id of the {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel}.
+ * The id of the {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel}.
*
* @throws java.lang.NumberFormatException
* If the provided {@code id} cannot be parsed by {@link Long#parseLong(String)}
*
- * @return Possibly-null {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannel} with matching id.
+ * @return Possibly-null {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannel} with matching id.
*/
@Nullable
default PrivateChannel getPrivateChannelById(@Nonnull final String id)
@@ -730,7 +734,7 @@ default PrivateChannel getPrivateChannelById(@Nonnull final String id)
/**
* {@link net.dv8tion.jda.api.utils.cache.SnowflakeCacheView SnowflakeCacheView} of
- * all cached {@link net.dv8tion.jda.api.entities.PrivateChannel PrivateChannels} visible to this ShardManager instance.
+ * all cached {@link net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel PrivateChannels} visible to this ShardManager instance.
*
* @return {@link net.dv8tion.jda.api.utils.cache.SnowflakeCacheView SnowflakeCacheView}
*/
diff --git a/src/main/java/net/dv8tion/jda/api/utils/SessionControllerAdapter.java b/src/main/java/net/dv8tion/jda/api/utils/SessionControllerAdapter.java
index 172616eed0..46c64d86fb 100644
--- a/src/main/java/net/dv8tion/jda/api/utils/SessionControllerAdapter.java
+++ b/src/main/java/net/dv8tion/jda/api/utils/SessionControllerAdapter.java
@@ -20,9 +20,9 @@
import net.dv8tion.jda.api.AccountType;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.exceptions.AccountTypeException;
+import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
-import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
diff --git a/src/main/java/net/dv8tion/jda/api/utils/cache/CacheFlag.java b/src/main/java/net/dv8tion/jda/api/utils/cache/CacheFlag.java
index ea22e1603d..436ebfa0bf 100644
--- a/src/main/java/net/dv8tion/jda/api/utils/cache/CacheFlag.java
+++ b/src/main/java/net/dv8tion/jda/api/utils/cache/CacheFlag.java
@@ -63,7 +63,7 @@ public enum CacheFlag
*/
CLIENT_STATUS(GatewayIntent.GUILD_PRESENCES),
/**
- * Enables cache for {@link net.dv8tion.jda.api.entities.IPermissionContainer#getMemberPermissionOverrides()}
+ * Enables cache for {@link net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer#getMemberPermissionOverrides()}
*/
MEMBER_OVERRIDES,
/**
diff --git a/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateBuilder.java b/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateBuilder.java
index d70374e520..5f03ae2aef 100644
--- a/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateBuilder.java
+++ b/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateBuilder.java
@@ -18,6 +18,7 @@
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageEmbed;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.interactions.components.LayoutComponent;
import net.dv8tion.jda.api.utils.FileUpload;
import net.dv8tion.jda.internal.utils.Checks;
@@ -50,7 +51,7 @@
* } // closes wave.gif if an error occurred
* }
*
- * @see net.dv8tion.jda.api.entities.MessageChannel#sendMessage(MessageCreateData) MessageChannel.sendMessage(data)
+ * @see MessageChannel#sendMessage(MessageCreateData)
* @see net.dv8tion.jda.api.interactions.callbacks.IReplyCallback#reply(MessageCreateData) IReplyCallback.reply(data)
* @see net.dv8tion.jda.api.interactions.InteractionHook#sendMessage(MessageCreateData) InteractionHook.sendMessage(data)
* @see MessageEditBuilder
diff --git a/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateData.java b/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateData.java
index 52771d5b85..c64853bf44 100644
--- a/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateData.java
+++ b/src/main/java/net/dv8tion/jda/api/utils/messages/MessageCreateData.java
@@ -18,6 +18,7 @@
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageEmbed;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.interactions.components.LayoutComponent;
import net.dv8tion.jda.api.utils.FileUpload;
import net.dv8tion.jda.api.utils.data.DataArray;
@@ -32,7 +33,7 @@
* Output of a {@link MessageCreateBuilder} and used for sending messages to channels/webhooks/interactions.
*
* @see MessageCreateBuilder
- * @see net.dv8tion.jda.api.entities.MessageChannel#sendMessage(MessageCreateData) MessageChannel.sendMessage(MessageCreateData)
+ * @see MessageChannel#sendMessage(MessageCreateData)
* @see net.dv8tion.jda.api.interactions.callbacks.IReplyCallback#reply(MessageCreateData) IReplyCallback.reply(MessageCreateData)
* @see net.dv8tion.jda.api.entities.WebhookClient#sendMessage(MessageCreateData) WebhookClient.sendMessage(MessageCreateData)
*/
diff --git a/src/main/java/net/dv8tion/jda/api/utils/messages/MessageEditData.java b/src/main/java/net/dv8tion/jda/api/utils/messages/MessageEditData.java
index ea9ebcdb98..a4b4a25db4 100644
--- a/src/main/java/net/dv8tion/jda/api/utils/messages/MessageEditData.java
+++ b/src/main/java/net/dv8tion/jda/api/utils/messages/MessageEditData.java
@@ -18,6 +18,7 @@
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageEmbed;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.interactions.components.LayoutComponent;
import net.dv8tion.jda.api.utils.AttachedFile;
import net.dv8tion.jda.api.utils.FileUpload;
@@ -36,7 +37,7 @@
* Output of a {@link MessageEditRequest} and used for editing messages in channels/webhooks/interactions.
*
* @see MessageEditBuilder
- * @see net.dv8tion.jda.api.entities.MessageChannel#editMessageById(String, MessageEditData) MessageChannel.editMessageById(String, MessageEditData)
+ * @see MessageChannel#editMessageById(String, MessageEditData)
* @see net.dv8tion.jda.api.interactions.callbacks.IMessageEditCallback#editMessage(MessageEditData) IMessageEditCallback.editMessage(MessageEditData)
* @see net.dv8tion.jda.api.entities.WebhookClient#editMessageById(String, MessageEditData) WebhookClient.editMessageById(String, MessageEditData)
* @see net.dv8tion.jda.api.interactions.InteractionHook#editOriginal(MessageEditData) InteractionHook.editOriginal(MessageEditData)
diff --git a/src/main/java/net/dv8tion/jda/internal/JDAImpl.java b/src/main/java/net/dv8tion/jda/internal/JDAImpl.java
index 060c21552b..4330d26b5b 100644
--- a/src/main/java/net/dv8tion/jda/internal/JDAImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/JDAImpl.java
@@ -26,6 +26,8 @@
import net.dv8tion.jda.api.audio.factory.IAudioSendFactory;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.api.entities.sticker.StickerPack;
import net.dv8tion.jda.api.entities.sticker.StickerSnowflake;
@@ -74,7 +76,10 @@
import net.dv8tion.jda.internal.requests.restaction.CommandEditActionImpl;
import net.dv8tion.jda.internal.requests.restaction.CommandListUpdateActionImpl;
import net.dv8tion.jda.internal.requests.restaction.GuildActionImpl;
-import net.dv8tion.jda.internal.utils.*;
+import net.dv8tion.jda.internal.utils.Checks;
+import net.dv8tion.jda.internal.utils.Helpers;
+import net.dv8tion.jda.internal.utils.JDALogger;
+import net.dv8tion.jda.internal.utils.UnlockHook;
import net.dv8tion.jda.internal.utils.cache.AbstractCacheView;
import net.dv8tion.jda.internal.utils.cache.SnowflakeCacheViewImpl;
import net.dv8tion.jda.internal.utils.config.AuthorizationConfig;
diff --git a/src/main/java/net/dv8tion/jda/internal/audio/AudioConnection.java b/src/main/java/net/dv8tion/jda/internal/audio/AudioConnection.java
index ba6260e157..ec83fbe4fa 100644
--- a/src/main/java/net/dv8tion/jda/internal/audio/AudioConnection.java
+++ b/src/main/java/net/dv8tion/jda/internal/audio/AudioConnection.java
@@ -28,9 +28,9 @@
import net.dv8tion.jda.api.audio.factory.IAudioSendSystem;
import net.dv8tion.jda.api.audio.factory.IPacketProvider;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.events.ExceptionEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/audio/AudioWebSocket.java b/src/main/java/net/dv8tion/jda/internal/audio/AudioWebSocket.java
index 60d81d026d..ed67ca9745 100644
--- a/src/main/java/net/dv8tion/jda/internal/audio/AudioWebSocket.java
+++ b/src/main/java/net/dv8tion/jda/internal/audio/AudioWebSocket.java
@@ -21,9 +21,9 @@
import net.dv8tion.jda.api.audio.SpeakingMode;
import net.dv8tion.jda.api.audio.hooks.ConnectionListener;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.events.ExceptionEvent;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.api.utils.data.DataArray;
diff --git a/src/main/java/net/dv8tion/jda/internal/audio/ConnectionRequest.java b/src/main/java/net/dv8tion/jda/internal/audio/ConnectionRequest.java
index 46cc60a63d..4c6111572b 100644
--- a/src/main/java/net/dv8tion/jda/internal/audio/ConnectionRequest.java
+++ b/src/main/java/net/dv8tion/jda/internal/audio/ConnectionRequest.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.internal.audio;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
public class ConnectionRequest
{
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/AbstractMessage.java b/src/main/java/net/dv8tion/jda/internal/entities/AbstractMessage.java
index cebabcef46..8f07d452b8 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/AbstractMessage.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/AbstractMessage.java
@@ -18,6 +18,9 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildMessageChannelUnion;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.entities.emoji.Emoji;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/EntityBuilder.java b/src/main/java/net/dv8tion/jda/internal/entities/EntityBuilder.java
index 61a21bcf33..f56ee87ed4 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/EntityBuilder.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/EntityBuilder.java
@@ -29,6 +29,13 @@
import net.dv8tion.jda.api.entities.Guild.Timeout;
import net.dv8tion.jda.api.entities.Guild.VerificationLevel;
import net.dv8tion.jda.api.entities.MessageEmbed.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.EmojiUnion;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.api.entities.sticker.*;
@@ -51,11 +58,12 @@
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.*;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.AudioChannelMixin;
import net.dv8tion.jda.internal.entities.emoji.CustomEmojiImpl;
import net.dv8tion.jda.internal.entities.emoji.RichCustomEmojiImpl;
import net.dv8tion.jda.internal.entities.emoji.UnicodeEmojiImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.AudioChannelMixin;
import net.dv8tion.jda.internal.entities.sticker.*;
import net.dv8tion.jda.internal.handle.EventCache;
import net.dv8tion.jda.internal.utils.Helpers;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/GuildImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/GuildImpl.java
index 0f87c99947..fe3c0474e3 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/GuildImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/GuildImpl.java
@@ -23,6 +23,11 @@
import net.dv8tion.jda.api.Region;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.DefaultGuildChannelUnion;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.api.entities.sticker.GuildSticker;
@@ -69,7 +74,6 @@
import net.dv8tion.jda.internal.requests.restaction.pagination.BanPaginationActionImpl;
import net.dv8tion.jda.internal.utils.Checks;
import net.dv8tion.jda.internal.utils.Helpers;
-import net.dv8tion.jda.internal.utils.PermissionUtil;
import net.dv8tion.jda.internal.utils.UnlockHook;
import net.dv8tion.jda.internal.utils.cache.AbstractCacheView;
import net.dv8tion.jda.internal.utils.cache.MemberCacheViewImpl;
@@ -682,13 +686,7 @@ public SnowflakeCacheView getStickerCache()
public List getChannels(boolean includeHidden)
{
Member self = getSelfMember();
- Predicate filterHidden = it -> {
- //TODO-v5: Do we need to if-protected cast here? If the channel _isnt_ a IPermissionContainer, then would we even be using this filter on it?
- if (it instanceof IPermissionContainer) {
- return self.hasPermission((IPermissionContainer) it, Permission.VIEW_CHANNEL);
- }
- return false;
- };
+ Predicate filterHidden = it -> self.hasPermission(it, Permission.VIEW_CHANNEL);
List channels;
SnowflakeCacheViewImpl categoryView = getCategoriesView();
@@ -1309,11 +1307,12 @@ public RestAction moveVoiceMember(@Nonnull Member member, @Nullable AudioC
if (channel == null)
throw new IllegalStateException("You cannot move a Member who isn't in an AudioChannel!");
- if (!PermissionUtil.checkPermission((IPermissionContainer) channel, getSelfMember(), Permission.VOICE_MOVE_OTHERS))
+ Member selfMember = getSelfMember();
+ if (!selfMember.hasPermission(channel, Permission.VOICE_MOVE_OTHERS))
throw new InsufficientPermissionException(channel, Permission.VOICE_MOVE_OTHERS, "This account does not have Permission to MOVE_OTHERS out of the channel that the Member is currently in.");
if (audioChannel != null
- && !getSelfMember().hasPermission(audioChannel, Permission.VOICE_CONNECT)
+ && !selfMember.hasPermission(audioChannel, Permission.VOICE_CONNECT)
&& !member.hasPermission(audioChannel, Permission.VOICE_CONNECT))
throw new InsufficientPermissionException(audioChannel, Permission.VOICE_CONNECT,
"Neither this account nor the Member that is attempting to be moved have the VOICE_CONNECT permission " +
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/GuildVoiceStateImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/GuildVoiceStateImpl.java
index 393dc08d65..9b11e56513 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/GuildVoiceStateImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/GuildVoiceStateImpl.java
@@ -18,7 +18,11 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.GuildVoiceState;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/InteractionMentions.java b/src/main/java/net/dv8tion/jda/internal/entities/InteractionMentions.java
index 59166b8c7e..337bd233df 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/InteractionMentions.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/InteractionMentions.java
@@ -17,7 +17,11 @@
package net.dv8tion.jda.internal.entities;
import gnu.trove.map.TLongObjectMap;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.IMentionable;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.entities.mentions.AbstractMentions;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/InviteImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/InviteImpl.java
index d6d6fba2cb..f85ecfe8b0 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/InviteImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/InviteImpl.java
@@ -18,8 +18,13 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
import net.dv8tion.jda.api.entities.Guild.VerificationLevel;
+import net.dv8tion.jda.api.entities.ISnowflake;
+import net.dv8tion.jda.api.entities.Invite;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.requests.restaction.AuditableRestAction;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java
index 71090bb3be..a76436bde9 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java
@@ -21,12 +21,14 @@
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.DefaultGuildChannelUnion;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.api.utils.cache.CacheFlag;
import net.dv8tion.jda.api.utils.cache.CacheView;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
import net.dv8tion.jda.internal.utils.Checks;
import net.dv8tion.jda.internal.utils.Helpers;
import net.dv8tion.jda.internal.utils.PermissionUtil;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/MessageMentionsImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/MessageMentionsImpl.java
index ac6f4dc398..d68b319ddf 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/MessageMentionsImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/MessageMentionsImpl.java
@@ -22,6 +22,7 @@
import gnu.trove.set.TLongSet;
import gnu.trove.set.hash.TLongHashSet;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/PermissionOverrideImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/PermissionOverrideImpl.java
index 19b79c1ca0..58a3db7513 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/PermissionOverrideImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/PermissionOverrideImpl.java
@@ -19,6 +19,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
import net.dv8tion.jda.api.entities.channel.unions.IPermissionContainerUnion;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.requests.restaction.AuditableRestAction;
@@ -119,7 +120,7 @@ public Role getRole()
@Override
public IPermissionContainerUnion getChannel()
{
- IPermissionContainer realChannel = (IPermissionContainer) api.getGuildChannelById(channel.getIdLong());
+ IPermissionContainer realChannel = api.getChannelById(IPermissionContainer.class, channel.getIdLong());
if (realChannel != null)
channel = realChannel;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/ReceivedMessage.java b/src/main/java/net/dv8tion/jda/internal/entities/ReceivedMessage.java
index e07bf74e28..a64df8dfc7 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/ReceivedMessage.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/ReceivedMessage.java
@@ -19,6 +19,14 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildMessageChannelUnion;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/RoleImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/RoleImpl.java
index 36da6f79a0..e9766a565d 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/RoleImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/RoleImpl.java
@@ -19,7 +19,12 @@
import gnu.trove.map.TLongObjectMap;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.RoleIcon;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.HierarchyException;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.RoleManager;
@@ -28,7 +33,7 @@
import net.dv8tion.jda.api.utils.cache.CacheFlag;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
import net.dv8tion.jda.internal.managers.RoleManagerImpl;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.requests.restaction.AuditableRestActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/SelfUserImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/SelfUserImpl.java
index 9d3de493c1..15cdf127c5 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/SelfUserImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/SelfUserImpl.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.internal.entities;
import net.dv8tion.jda.api.entities.Message;
-import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.entities.SelfUser;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
import net.dv8tion.jda.api.managers.AccountManager;
import net.dv8tion.jda.api.requests.restaction.CacheRestAction;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/StageInstanceImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/StageInstanceImpl.java
index 9e27a69cba..06043ee59e 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/StageInstanceImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/StageInstanceImpl.java
@@ -18,8 +18,8 @@
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.StageChannel;
import net.dv8tion.jda.api.entities.StageInstance;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.StageInstanceManager;
import net.dv8tion.jda.api.requests.RestAction;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/SystemMessage.java b/src/main/java/net/dv8tion/jda/internal/entities/SystemMessage.java
index c88d70c723..42eedee72e 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/SystemMessage.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/SystemMessage.java
@@ -17,6 +17,8 @@
package net.dv8tion.jda.internal.entities;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.sticker.StickerItem;
import net.dv8tion.jda.api.interactions.components.LayoutComponent;
import net.dv8tion.jda.api.requests.RestAction;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/ThreadMemberImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/ThreadMemberImpl.java
index 9151674927..cb237c7525 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/ThreadMemberImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/ThreadMemberImpl.java
@@ -17,7 +17,12 @@
package net.dv8tion.jda.internal.entities;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.ThreadMember;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.internal.entities.channel.concrete.ThreadChannelImpl;
import net.dv8tion.jda.internal.utils.Helpers;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/UserImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/UserImpl.java
index 3ad385dadc..9bf61845e4 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/UserImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/UserImpl.java
@@ -17,12 +17,13 @@
package net.dv8tion.jda.internal.entities;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
import net.dv8tion.jda.api.requests.restaction.CacheRestAction;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.PrivateChannelImpl;
import net.dv8tion.jda.internal.requests.DeferredRestAction;
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/WebhookImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/WebhookImpl.java
index 3165fd20bb..d4f1d0358e 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/WebhookImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/WebhookImpl.java
@@ -19,6 +19,7 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer;
import net.dv8tion.jda.api.entities.channel.unions.IWebhookContainerUnion;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.WebhookManager;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/AbstractChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/AbstractChannelImpl.java
similarity index 92%
rename from src/main/java/net/dv8tion/jda/internal/entities/AbstractChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/AbstractChannelImpl.java
index 1debada4ba..c08e70f0d2 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/AbstractChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/AbstractChannelImpl.java
@@ -14,12 +14,14 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
+import net.dv8tion.jda.api.entities.channel.middleman.*;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.ChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.ChannelMixin;
import net.dv8tion.jda.internal.utils.Helpers;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/CategoryImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/CategoryImpl.java
similarity index 84%
rename from src/main/java/net/dv8tion/jda/internal/entities/CategoryImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/CategoryImpl.java
index 125f1f3668..c2bfff8db2 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/CategoryImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/CategoryImpl.java
@@ -14,16 +14,26 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.concrete;
import gnu.trove.map.TLongObjectMap;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.managers.channel.concrete.CategoryManager;
import net.dv8tion.jda.api.requests.restaction.ChannelAction;
import net.dv8tion.jda.api.requests.restaction.order.CategoryOrderAction;
import net.dv8tion.jda.api.utils.MiscUtil;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPositionableChannelMixin;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.middleman.AbstractGuildChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPositionableChannelMixin;
import net.dv8tion.jda.internal.managers.channel.concrete.CategoryManagerImpl;
import net.dv8tion.jda.internal.utils.Checks;
import net.dv8tion.jda.internal.utils.PermissionUtil;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/NewsChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/NewsChannelImpl.java
similarity index 86%
rename from src/main/java/net/dv8tion/jda/internal/entities/NewsChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/NewsChannelImpl.java
index 8b15670e7c..009937ca3a 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/NewsChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/NewsChannelImpl.java
@@ -14,15 +14,23 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.concrete;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.Webhook;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
import net.dv8tion.jda.api.entities.channel.unions.DefaultGuildChannelUnion;
import net.dv8tion.jda.api.managers.channel.concrete.NewsChannelManager;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.requests.restaction.ChannelAction;
import net.dv8tion.jda.api.utils.data.DataObject;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.middleman.AbstractStandardGuildMessageChannelImpl;
import net.dv8tion.jda.internal.managers.channel.concrete.NewsChannelManagerImpl;
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/PrivateChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/PrivateChannelImpl.java
similarity index 95%
rename from src/main/java/net/dv8tion/jda/internal/entities/PrivateChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/PrivateChannelImpl.java
index 0b94190e64..d4fe510b5e 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/PrivateChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/PrivateChannelImpl.java
@@ -14,15 +14,16 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.concrete;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.ChannelType;
-import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.MessageChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.AbstractChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.MessageChannelMixin;
import net.dv8tion.jda.internal.requests.CompletedRestAction;
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/StageChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/StageChannelImpl.java
similarity index 90%
rename from src/main/java/net/dv8tion/jda/internal/entities/StageChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/StageChannelImpl.java
index d9b3f1a53e..6d8f1cb202 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/StageChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/StageChannelImpl.java
@@ -14,12 +14,18 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.concrete;
import gnu.trove.map.TLongObjectMap;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.StageInstance;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.channel.concrete.StageChannelManager;
import net.dv8tion.jda.api.requests.RestAction;
@@ -27,7 +33,9 @@
import net.dv8tion.jda.api.requests.restaction.StageInstanceAction;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.api.utils.data.DataObject;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.AudioChannelMixin;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.middleman.AbstractStandardGuildChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.AudioChannelMixin;
import net.dv8tion.jda.internal.managers.channel.concrete.StageChannelManagerImpl;
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
@@ -43,7 +51,7 @@
import java.util.List;
public class StageChannelImpl extends AbstractStandardGuildChannelImpl implements
- StageChannel,
+ StageChannel,
AudioChannelMixin
{
private final TLongObjectMap connectedMembers = MiscUtil.newLongMap();
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/TextChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/TextChannelImpl.java
similarity index 85%
rename from src/main/java/net/dv8tion/jda/internal/entities/TextChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/TextChannelImpl.java
index 9f73f095b3..183838194d 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/TextChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/TextChannelImpl.java
@@ -14,13 +14,20 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.concrete;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.channel.unions.DefaultGuildChannelUnion;
import net.dv8tion.jda.api.managers.channel.concrete.TextChannelManager;
import net.dv8tion.jda.api.requests.restaction.ChannelAction;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.middleman.AbstractStandardGuildMessageChannelImpl;
import net.dv8tion.jda.internal.managers.channel.concrete.TextChannelManagerImpl;
import net.dv8tion.jda.internal.utils.Checks;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/ThreadChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/ThreadChannelImpl.java
similarity index 94%
rename from src/main/java/net/dv8tion/jda/internal/entities/ThreadChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/ThreadChannelImpl.java
index a1cb3e97e6..7b724676e4 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/ThreadChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/ThreadChannelImpl.java
@@ -14,10 +14,15 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.concrete;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.ThreadMember;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.entities.channel.unions.IThreadContainerUnion;
import net.dv8tion.jda.api.managers.channel.concrete.ThreadChannelManager;
import net.dv8tion.jda.api.requests.RestAction;
@@ -27,7 +32,10 @@
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildMessageChannelMixin;
+import net.dv8tion.jda.internal.entities.EntityBuilder;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.middleman.AbstractGuildChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildMessageChannelMixin;
import net.dv8tion.jda.internal.managers.channel.concrete.ThreadChannelManagerImpl;
import net.dv8tion.jda.internal.requests.DeferredRestAction;
import net.dv8tion.jda.internal.requests.RestActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/VoiceChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/VoiceChannelImpl.java
similarity index 86%
rename from src/main/java/net/dv8tion/jda/internal/entities/VoiceChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/VoiceChannelImpl.java
index b7abcbe33b..c78166323f 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/VoiceChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/concrete/VoiceChannelImpl.java
@@ -14,18 +14,25 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.concrete;
import gnu.trove.map.TLongObjectMap;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.managers.channel.concrete.VoiceChannelManager;
import net.dv8tion.jda.api.requests.restaction.ChannelAction;
import net.dv8tion.jda.api.utils.MiscUtil;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IWebhookContainerMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.AudioChannelMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildMessageChannelMixin;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.middleman.AbstractStandardGuildChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IWebhookContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.AudioChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildMessageChannelMixin;
import net.dv8tion.jda.internal.managers.channel.concrete.VoiceChannelManagerImpl;
import net.dv8tion.jda.internal.utils.Checks;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/AbstractGuildChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractGuildChannelImpl.java
similarity index 84%
rename from src/main/java/net/dv8tion/jda/internal/entities/AbstractGuildChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractGuildChannelImpl.java
index 44c14c4684..bef866ac55 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/AbstractGuildChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractGuildChannelImpl.java
@@ -14,11 +14,13 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.middleman;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.IPositionableChannel;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.api.entities.channel.attribute.IPositionableChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.AbstractChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
import net.dv8tion.jda.internal.utils.Checks;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/AbstractStandardGuildChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractStandardGuildChannelImpl.java
similarity index 89%
rename from src/main/java/net/dv8tion/jda/internal/entities/AbstractStandardGuildChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractStandardGuildChannelImpl.java
index f491b8f88d..6552b8c38b 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/AbstractStandardGuildChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractStandardGuildChannelImpl.java
@@ -14,12 +14,13 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.middleman;
import gnu.trove.map.TLongObjectMap;
import net.dv8tion.jda.api.entities.PermissionOverride;
import net.dv8tion.jda.api.utils.MiscUtil;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.StandardGuildChannelMixin;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.StandardGuildChannelMixin;
public abstract class AbstractStandardGuildChannelImpl> extends AbstractGuildChannelImpl
implements StandardGuildChannelMixin
@@ -69,5 +70,5 @@ public T setPosition(int position)
return (T) this;
}
- abstract void onPositionChange();
+ protected abstract void onPositionChange();
}
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/AbstractStandardGuildMessageChannelImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractStandardGuildMessageChannelImpl.java
similarity index 91%
rename from src/main/java/net/dv8tion/jda/internal/entities/AbstractStandardGuildMessageChannelImpl.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractStandardGuildMessageChannelImpl.java
index ec7cf554fc..5b564b4432 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/AbstractStandardGuildMessageChannelImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/middleman/AbstractStandardGuildMessageChannelImpl.java
@@ -14,9 +14,10 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities;
+package net.dv8tion.jda.internal.entities.channel.middleman;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.StandardGuildMessageChannelMixin;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.StandardGuildMessageChannelMixin;
import javax.annotation.Nullable;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/ChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/ChannelMixin.java
similarity index 92%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/ChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/ChannelMixin.java
index 0161eda95c..8d1ee2cb85 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/ChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/ChannelMixin.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.middleman;
+package net.dv8tion.jda.internal.entities.channel.mixin;
-import net.dv8tion.jda.api.entities.Channel;
+import net.dv8tion.jda.api.entities.channel.Channel;
import net.dv8tion.jda.api.entities.channel.unions.ChannelUnion;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.internal.requests.RestActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/README.md b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/README.md
similarity index 100%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/README.md
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/README.md
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/ICategorizableChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/ICategorizableChannelMixin.java
similarity index 91%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/ICategorizableChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/ICategorizableChannelMixin.java
index 9c4c4d23de..f927f53376 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/ICategorizableChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/ICategorizableChannelMixin.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.attribute;
+package net.dv8tion.jda.internal.entities.channel.mixin.attribute;
import gnu.trove.map.TLongObjectMap;
-import net.dv8tion.jda.api.entities.ICategorizableChannel;
import net.dv8tion.jda.api.entities.PermissionOverride;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
public interface ICategorizableChannelMixin> extends ICategorizableChannel, GuildChannelMixin, IPermissionContainerMixin
{
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IInviteContainerMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IInviteContainerMixin.java
similarity index 92%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IInviteContainerMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IInviteContainerMixin.java
index 2f6dda1a4f..6fe30ef0cc 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IInviteContainerMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IInviteContainerMixin.java
@@ -14,17 +14,17 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.attribute;
+package net.dv8tion.jda.internal.entities.channel.mixin.attribute;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.IInviteContainer;
import net.dv8tion.jda.api.entities.Invite;
+import net.dv8tion.jda.api.entities.channel.attribute.IInviteContainer;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.requests.restaction.InviteAction;
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.entities.EntityBuilder;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.requests.restaction.InviteActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IPermissionContainerMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IPermissionContainerMixin.java
similarity index 93%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IPermissionContainerMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IPermissionContainerMixin.java
index 54005c7672..6c6dfac527 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IPermissionContainerMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IPermissionContainerMixin.java
@@ -14,16 +14,16 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.attribute;
+package net.dv8tion.jda.internal.entities.channel.mixin.attribute;
import gnu.trove.map.TLongObjectMap;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
import net.dv8tion.jda.api.entities.IPermissionHolder;
import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
import net.dv8tion.jda.api.entities.channel.unions.IPermissionContainerUnion;
import net.dv8tion.jda.api.requests.restaction.PermissionOverrideAction;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
import net.dv8tion.jda.internal.requests.restaction.PermissionOverrideActionImpl;
import net.dv8tion.jda.internal.utils.Checks;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IPositionableChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IPositionableChannelMixin.java
similarity index 81%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IPositionableChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IPositionableChannelMixin.java
index c70e0e6a86..e61f9f4ba8 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IPositionableChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IPositionableChannelMixin.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.attribute;
+package net.dv8tion.jda.internal.entities.channel.mixin.attribute;
-import net.dv8tion.jda.api.entities.IPositionableChannel;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.api.entities.channel.attribute.IPositionableChannel;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
public interface IPositionableChannelMixin> extends IPositionableChannel, GuildChannelMixin
{
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IThreadContainerMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IThreadContainerMixin.java
similarity index 93%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IThreadContainerMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IThreadContainerMixin.java
index 21789b7f3d..400c9cf6de 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IThreadContainerMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IThreadContainerMixin.java
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.attribute;
+package net.dv8tion.jda.internal.entities.channel.mixin.attribute;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.ChannelType;
-import net.dv8tion.jda.api.entities.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
import net.dv8tion.jda.api.entities.channel.unions.IThreadContainerUnion;
import net.dv8tion.jda.api.requests.restaction.ThreadChannelAction;
import net.dv8tion.jda.api.requests.restaction.pagination.ThreadChannelPaginationAction;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.requests.restaction.ThreadChannelActionImpl;
import net.dv8tion.jda.internal.requests.restaction.pagination.ThreadChannelPaginationActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IWebhookContainerMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IWebhookContainerMixin.java
similarity index 94%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IWebhookContainerMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IWebhookContainerMixin.java
index 908c102314..24f04cd590 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IWebhookContainerMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/attribute/IWebhookContainerMixin.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.attribute;
+package net.dv8tion.jda.internal.entities.channel.mixin.attribute;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.IWebhookContainer;
import net.dv8tion.jda.api.entities.Webhook;
+import net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer;
import net.dv8tion.jda.api.entities.channel.unions.IWebhookContainerUnion;
import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.requests.restaction.AuditableRestAction;
@@ -26,7 +26,7 @@
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.entities.EntityBuilder;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
import net.dv8tion.jda.internal.requests.RestActionImpl;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.requests.restaction.AuditableRestActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/AudioChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/AudioChannelMixin.java
similarity index 88%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/AudioChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/AudioChannelMixin.java
index b6da23d5a1..dc27ecf4aa 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/AudioChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/AudioChannelMixin.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.middleman;
+package net.dv8tion.jda.internal.entities.channel.mixin.middleman;
import gnu.trove.map.TLongObjectMap;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
public interface AudioChannelMixin> extends AudioChannel, GuildChannelMixin
{
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/GuildChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/GuildChannelMixin.java
similarity index 89%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/GuildChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/GuildChannelMixin.java
index 2b78826830..4050b64811 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/GuildChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/GuildChannelMixin.java
@@ -14,14 +14,15 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.middleman;
+package net.dv8tion.jda.internal.entities.channel.mixin.middleman;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildChannelUnion;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.requests.restaction.AuditableRestAction;
+import net.dv8tion.jda.internal.entities.channel.mixin.ChannelMixin;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.requests.restaction.AuditableRestActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/GuildMessageChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/GuildMessageChannelMixin.java
similarity index 97%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/GuildMessageChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/GuildMessageChannelMixin.java
index 3a81967843..8f7bc8132d 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/GuildMessageChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/GuildMessageChannelMixin.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.middleman;
+package net.dv8tion.jda.internal.entities.channel.mixin.middleman;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.GuildMessageChannel;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.GuildMessageChannelUnion;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.entities.sticker.StickerSnowflake;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/MessageChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/MessageChannelMixin.java
similarity index 96%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/MessageChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/MessageChannelMixin.java
index 1bff61fc46..286b02abd2 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/MessageChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/MessageChannelMixin.java
@@ -14,10 +14,15 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.middleman;
+package net.dv8tion.jda.internal.entities.channel.mixin.middleman;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.MessageEmbed;
+import net.dv8tion.jda.api.entities.MessageHistory;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/StandardGuildChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/StandardGuildChannelMixin.java
similarity index 72%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/StandardGuildChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/StandardGuildChannelMixin.java
index e09e395a42..649aa3d7ca 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/StandardGuildChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/StandardGuildChannelMixin.java
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.middleman;
+package net.dv8tion.jda.internal.entities.channel.mixin.middleman;
-import net.dv8tion.jda.api.entities.StandardGuildChannel;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.ICategorizableChannelMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IInviteContainerMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPositionableChannelMixin;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildChannel;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.ICategorizableChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IInviteContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPositionableChannelMixin;
public interface StandardGuildChannelMixin> extends
StandardGuildChannel,
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/StandardGuildMessageChannelMixin.java b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/StandardGuildMessageChannelMixin.java
similarity index 85%
rename from src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/StandardGuildMessageChannelMixin.java
rename to src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/StandardGuildMessageChannelMixin.java
index 82a808c488..dbd39e6a8a 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/middleman/StandardGuildMessageChannelMixin.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/channel/mixin/middleman/StandardGuildMessageChannelMixin.java
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-package net.dv8tion.jda.internal.entities.mixin.channel.middleman;
+package net.dv8tion.jda.internal.entities.channel.mixin.middleman;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.StandardGuildMessageChannel;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IThreadContainerMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IWebhookContainerMixin;
+import net.dv8tion.jda.api.entities.channel.middleman.StandardGuildMessageChannel;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IThreadContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IWebhookContainerMixin;
import javax.annotation.Nonnull;
diff --git a/src/main/java/net/dv8tion/jda/internal/entities/mentions/AbstractMentions.java b/src/main/java/net/dv8tion/jda/internal/entities/mentions/AbstractMentions.java
index a720c225f9..f0a3217b71 100644
--- a/src/main/java/net/dv8tion/jda/internal/entities/mentions/AbstractMentions.java
+++ b/src/main/java/net/dv8tion/jda/internal/entities/mentions/AbstractMentions.java
@@ -20,6 +20,7 @@
import gnu.trove.map.hash.TLongObjectHashMap;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.utils.MiscUtil;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ChannelCreateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ChannelCreateHandler.java
index a34cba92aa..2ec4fc4f14 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ChannelCreateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ChannelCreateHandler.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.Channel;
-import net.dv8tion.jda.api.entities.ChannelType;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.events.channel.ChannelCreateEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ChannelDeleteHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ChannelDeleteHandler.java
index 5036f3ecab..e50187e78f 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ChannelDeleteHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ChannelDeleteHandler.java
@@ -16,7 +16,8 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.*;
import net.dv8tion.jda.api.events.channel.ChannelDeleteEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ChannelUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ChannelUpdateHandler.java
index e567f25fbd..3a82b80a2c 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ChannelUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ChannelUpdateHandler.java
@@ -20,7 +20,16 @@
import gnu.trove.map.hash.TLongObjectHashMap;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.IPermissionHolder;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.events.channel.update.*;
import net.dv8tion.jda.api.events.guild.override.PermissionOverrideCreateEvent;
import net.dv8tion.jda.api.events.guild.override.PermissionOverrideDeleteEvent;
@@ -30,8 +39,11 @@
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.*;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.EntityBuilder;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.PermissionOverrideImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.*;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
import net.dv8tion.jda.internal.requests.WebSocketClient;
import net.dv8tion.jda.internal.utils.UnlockHook;
import net.dv8tion.jda.internal.utils.cache.SnowflakeCacheViewImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/GuildMemberRemoveHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/GuildMemberRemoveHandler.java
index e2f79d4390..5d3a569f80 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/GuildMemberRemoveHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/GuildMemberRemoveHandler.java
@@ -15,16 +15,20 @@
*/
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent;
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent;
import net.dv8tion.jda.api.utils.cache.CacheView;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.*;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.AudioChannelMixin;
+import net.dv8tion.jda.internal.entities.GuildImpl;
+import net.dv8tion.jda.internal.entities.GuildVoiceStateImpl;
+import net.dv8tion.jda.internal.entities.MemberImpl;
+import net.dv8tion.jda.internal.entities.MemberPresenceImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.VoiceChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.AudioChannelMixin;
import net.dv8tion.jda.internal.utils.UnlockHook;
import net.dv8tion.jda.internal.utils.cache.SnowflakeCacheViewImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/GuildSetupNode.java b/src/main/java/net/dv8tion/jda/internal/handle/GuildSetupNode.java
index deb04af14b..cb752f6d24 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/GuildSetupNode.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/GuildSetupNode.java
@@ -24,7 +24,7 @@
import gnu.trove.set.hash.TLongHashSet;
import net.dv8tion.jda.api.audio.hooks.ConnectionListener;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
-import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.events.guild.GuildAvailableEvent;
import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
import net.dv8tion.jda.api.events.guild.GuildReadyEvent;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/GuildUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/GuildUpdateHandler.java
index 62b71b27ac..15bedb0e28 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/GuildUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/GuildUpdateHandler.java
@@ -17,8 +17,8 @@
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.TextChannel;
-import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.events.guild.update.*;
import net.dv8tion.jda.api.interactions.DiscordLocale;
import net.dv8tion.jda.api.utils.data.DataArray;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/InteractionCreateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/InteractionCreateHandler.java
index 27e2c5125a..777f2dc55d 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/InteractionCreateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/InteractionCreateHandler.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.internal.handle;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.events.interaction.GenericInteractionCreateEvent;
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
import net.dv8tion.jda.api.events.interaction.command.CommandAutoCompleteInteractionEvent;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/InviteCreateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/InviteCreateHandler.java
index 7f7ca6f089..78a67c77ca 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/InviteCreateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/InviteCreateHandler.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.internal.handle;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.Invite;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.events.guild.invite.GuildInviteCreateEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/InviteDeleteHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/InviteDeleteHandler.java
index 2e618e15b3..176f22c1ac 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/InviteDeleteHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/InviteDeleteHandler.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.internal.handle;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.events.guild.invite.GuildInviteDeleteEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/MessageBulkDeleteHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/MessageBulkDeleteHandler.java
index 7c09babeef..39ebfa5c74 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/MessageBulkDeleteHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/MessageBulkDeleteHandler.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.internal.handle;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.GuildMessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
import net.dv8tion.jda.api.events.message.MessageBulkDeleteEvent;
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/MessageCreateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/MessageCreateHandler.java
index 21d6f63e4b..7d89a40e4e 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/MessageCreateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/MessageCreateHandler.java
@@ -15,13 +15,18 @@
*/
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.MessageType;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.entities.EntityBuilder;
-import net.dv8tion.jda.internal.entities.ThreadChannelImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.MessageChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.concrete.ThreadChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.MessageChannelMixin;
import net.dv8tion.jda.internal.requests.WebSocketClient;
public class MessageCreateHandler extends SocketHandler
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/MessageDeleteHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/MessageDeleteHandler.java
index 2d3af09c87..d5dabfa224 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/MessageDeleteHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/MessageDeleteHandler.java
@@ -16,12 +16,12 @@
package net.dv8tion.jda.internal.handle;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.message.MessageDeleteEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.ThreadChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.ThreadChannelImpl;
import net.dv8tion.jda.internal.requests.WebSocketClient;
public class MessageDeleteHandler extends SocketHandler
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionBulkRemoveHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionBulkRemoveHandler.java
index 93b31c2560..4af32c367e 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionBulkRemoveHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionBulkRemoveHandler.java
@@ -17,8 +17,8 @@
package net.dv8tion.jda.internal.handle;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveAllEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionClearEmojiHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionClearEmojiHandler.java
index 50fdfe2c0e..95f84e42e2 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionClearEmojiHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionClearEmojiHandler.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.internal.handle;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.GuildMessageChannel;
import net.dv8tion.jda.api.entities.MessageReaction;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
import net.dv8tion.jda.api.entities.emoji.EmojiUnion;
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEmojiEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionHandler.java
index 5782a1fea6..5af5a40cf0 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/MessageReactionHandler.java
@@ -16,7 +16,13 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.MessageReaction;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.EmojiUnion;
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent;
@@ -26,7 +32,7 @@
import net.dv8tion.jda.internal.entities.EntityBuilder;
import net.dv8tion.jda.internal.entities.GuildImpl;
import net.dv8tion.jda.internal.entities.MemberImpl;
-import net.dv8tion.jda.internal.entities.PrivateChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.PrivateChannelImpl;
import net.dv8tion.jda.internal.requests.WebSocketClient;
import net.dv8tion.jda.internal.utils.JDALogger;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/MessageUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/MessageUpdateHandler.java
index 29f2a32688..7611a53577 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/MessageUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/MessageUpdateHandler.java
@@ -15,7 +15,13 @@
*/
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.MessageEmbed;
+import net.dv8tion.jda.api.entities.MessageType;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.message.MessageEmbedEvent;
import net.dv8tion.jda.api.events.message.MessageUpdateEvent;
import net.dv8tion.jda.api.utils.data.DataArray;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ReadyHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ReadyHandler.java
index f1dbc51151..2566187e23 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ReadyHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ReadyHandler.java
@@ -18,7 +18,7 @@
import gnu.trove.map.TLongObjectMap;
import gnu.trove.map.hash.TLongObjectHashMap;
-import net.dv8tion.jda.api.entities.ChannelType;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceDeleteHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceDeleteHandler.java
index 3fbbe98f0c..446f425370 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceDeleteHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceDeleteHandler.java
@@ -21,7 +21,7 @@
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.entities.GuildImpl;
-import net.dv8tion.jda.internal.entities.StageChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.StageChannelImpl;
public class StageInstanceDeleteHandler extends SocketHandler
{
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceUpdateHandler.java
index 5113467b6e..231189b482 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/StageInstanceUpdateHandler.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.StageChannel;
import net.dv8tion.jda.api.entities.StageInstance;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.events.stage.update.StageInstanceUpdatePrivacyLevelEvent;
import net.dv8tion.jda.api.events.stage.update.StageInstanceUpdateTopicEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ThreadCreateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ThreadCreateHandler.java
index 4a2b57fc65..310215c616 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ThreadCreateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ThreadCreateHandler.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.events.channel.ChannelCreateEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ThreadDeleteHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ThreadDeleteHandler.java
index 85eabe3311..57a83b034f 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ThreadDeleteHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ThreadDeleteHandler.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.events.channel.ChannelDeleteEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ThreadListSyncHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ThreadListSyncHandler.java
index d3dfbcef55..20aabfbc7b 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ThreadListSyncHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ThreadListSyncHandler.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.events.thread.ThreadRevealedEvent;
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ThreadMemberUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ThreadMemberUpdateHandler.java
index 5358ab0326..7c2666909b 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ThreadMemberUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ThreadMemberUpdateHandler.java
@@ -20,7 +20,7 @@
import net.dv8tion.jda.api.utils.cache.CacheView;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.ThreadChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.ThreadChannelImpl;
import net.dv8tion.jda.internal.utils.UnlockHook;
public class ThreadMemberUpdateHandler extends SocketHandler
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ThreadMembersUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ThreadMembersUpdateHandler.java
index 8b85377384..690ed14f47 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ThreadMembersUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ThreadMembersUpdateHandler.java
@@ -28,7 +28,7 @@
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.entities.EntityBuilder;
import net.dv8tion.jda.internal.entities.GuildImpl;
-import net.dv8tion.jda.internal.entities.ThreadChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.ThreadChannelImpl;
import net.dv8tion.jda.internal.utils.UnlockHook;
import java.util.ArrayList;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/ThreadUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/ThreadUpdateHandler.java
index a4f2fd7103..25ffffd2fe 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/ThreadUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/ThreadUpdateHandler.java
@@ -16,11 +16,11 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.events.channel.update.*;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
-import net.dv8tion.jda.internal.entities.ThreadChannelImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.ThreadChannelImpl;
import net.dv8tion.jda.internal.utils.Helpers;
import java.util.Objects;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/TypingStartHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/TypingStartHandler.java
index 4ab71bc7b7..23efe01803 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/TypingStartHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/TypingStartHandler.java
@@ -15,9 +15,9 @@
*/
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.MessageChannel;
-import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.events.user.UserTypingEvent;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/VoiceServerUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/VoiceServerUpdateHandler.java
index fb4ef9c9ff..d2d839ab35 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/VoiceServerUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/VoiceServerUpdateHandler.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.hooks.VoiceDispatchInterceptor;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java
index cfc00f1982..4bb569b5b7 100644
--- a/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java
+++ b/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.internal.handle;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.events.guild.voice.*;
import net.dv8tion.jda.api.hooks.VoiceDispatchInterceptor;
import net.dv8tion.jda.api.utils.data.DataObject;
@@ -25,7 +25,7 @@
import net.dv8tion.jda.internal.entities.GuildImpl;
import net.dv8tion.jda.internal.entities.GuildVoiceStateImpl;
import net.dv8tion.jda.internal.entities.MemberImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.AudioChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.AudioChannelMixin;
import net.dv8tion.jda.internal.managers.AudioManagerImpl;
import net.dv8tion.jda.internal.requests.WebSocketClient;
diff --git a/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java b/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java
index afc45ea659..7f2e2ca0ab 100644
--- a/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java
@@ -16,19 +16,23 @@
package net.dv8tion.jda.internal.interactions;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.Channel;
+import net.dv8tion.jda.api.entities.channel.concrete.PrivateChannel;
import net.dv8tion.jda.api.interactions.DiscordLocale;
import net.dv8tion.jda.api.interactions.Interaction;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.entities.GuildImpl;
import net.dv8tion.jda.internal.entities.MemberImpl;
-import net.dv8tion.jda.internal.entities.PrivateChannelImpl;
import net.dv8tion.jda.internal.entities.UserImpl;
+import net.dv8tion.jda.internal.entities.channel.concrete.PrivateChannelImpl;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
public class InteractionImpl implements Interaction
{
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/AudioManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/AudioManagerImpl.java
index ff43175c9a..feee5a46b7 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/AudioManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/AudioManagerImpl.java
@@ -22,9 +22,9 @@
import net.dv8tion.jda.api.audio.hooks.ConnectionListener;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
import net.dv8tion.jda.api.audio.hooks.ListenerProxy;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.AudioManager;
import net.dv8tion.jda.api.utils.MiscUtil;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/DirectAudioControllerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/DirectAudioControllerImpl.java
index 6d2ee758f1..4954a72c62 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/DirectAudioControllerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/DirectAudioControllerImpl.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.internal.managers;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.managers.DirectAudioController;
import net.dv8tion.jda.internal.JDAImpl;
import net.dv8tion.jda.internal.requests.WebSocketClient;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/GuildManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/GuildManagerImpl.java
index a8dba536de..741186a252 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/GuildManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/GuildManagerImpl.java
@@ -20,8 +20,8 @@
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Icon;
-import net.dv8tion.jda.api.entities.TextChannel;
-import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.GuildManager;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/PermOverrideManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/PermOverrideManagerImpl.java
index 726faf57cb..ab92c11afb 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/PermOverrideManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/PermOverrideManagerImpl.java
@@ -17,13 +17,13 @@
package net.dv8tion.jda.internal.managers;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.IPermissionContainer;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.PermOverrideManager;
import net.dv8tion.jda.api.utils.data.DataObject;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.utils.Checks;
import okhttp3.RequestBody;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/WebhookManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/WebhookManagerImpl.java
index 2f07c9e421..bb59b69867 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/WebhookManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/WebhookManagerImpl.java
@@ -17,7 +17,11 @@
package net.dv8tion.jda.internal.managers;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Icon;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.Webhook;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.WebhookManager;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/channel/ChannelManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/channel/ChannelManagerImpl.java
index 61a7941806..f9ace1b03f 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/channel/ChannelManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/channel/ChannelManagerImpl.java
@@ -21,12 +21,22 @@
import gnu.trove.set.hash.TLongHashSet;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.IPermissionHolder;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.channel.ChannelManager;
import net.dv8tion.jda.api.utils.data.DataObject;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
-import net.dv8tion.jda.internal.entities.mixin.channel.middleman.GuildChannelMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.middleman.GuildChannelMixin;
import net.dv8tion.jda.internal.managers.ManagerBase;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.requests.restaction.PermOverrideData;
@@ -259,7 +269,7 @@ public M removePermissionOverride(@Nonnull IPermissionHolder permHolder)
@CheckReturnValue
public M removePermissionOverride(final long id)
{
- if (isPermissionChecksEnabled() && !getGuild().getSelfMember().hasPermission((IPermissionContainer) getChannel(), Permission.MANAGE_PERMISSIONS))
+ if (isPermissionChecksEnabled() && !getGuild().getSelfMember().hasPermission(getChannel(), Permission.MANAGE_PERMISSIONS))
throw new InsufficientPermissionException(getChannel(), Permission.MANAGE_PERMISSIONS);
withLock(lock, (lock) ->
{
@@ -579,9 +589,8 @@ protected boolean checkPermissions()
protected void checkPermission(Permission permission, String errMessage)
{
- if (!getGuild().getSelfMember().hasPermission(getChannel(), permission)) {
+ if (!getGuild().getSelfMember().hasPermission(getChannel(), permission))
throw new InsufficientPermissionException(getChannel(), permission, errMessage);
- }
}
protected Collection getOverrides()
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/CategoryManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/CategoryManagerImpl.java
index c199f4f21b..c4e8b9bddb 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/CategoryManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/CategoryManagerImpl.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
import net.dv8tion.jda.api.managers.channel.concrete.CategoryManager;
import net.dv8tion.jda.internal.managers.channel.ChannelManagerImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/NewsChannelManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/NewsChannelManagerImpl.java
index 219785579b..38a630c12a 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/NewsChannelManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/NewsChannelManagerImpl.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.NewsChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.NewsChannel;
import net.dv8tion.jda.api.managers.channel.concrete.NewsChannelManager;
import net.dv8tion.jda.internal.managers.channel.ChannelManagerImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/StageChannelManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/StageChannelManagerImpl.java
index a589983688..c6f6c55c6e 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/StageChannelManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/StageChannelManagerImpl.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.StageChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.managers.channel.concrete.StageChannelManager;
import net.dv8tion.jda.internal.managers.channel.ChannelManagerImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/TextChannelManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/TextChannelManagerImpl.java
index 77cf53057a..7b664554f7 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/TextChannelManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/TextChannelManagerImpl.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.TextChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.managers.channel.concrete.TextChannelManager;
import net.dv8tion.jda.internal.managers.channel.ChannelManagerImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/ThreadChannelManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/ThreadChannelManagerImpl.java
index c52241929f..35748c5f7b 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/ThreadChannelManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/ThreadChannelManagerImpl.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.managers.channel.concrete.ThreadChannelManager;
import net.dv8tion.jda.internal.managers.channel.ChannelManagerImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/VoiceChannelManagerImpl.java b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/VoiceChannelManagerImpl.java
index e3ecff251a..1e621ac303 100644
--- a/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/VoiceChannelManagerImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/managers/channel/concrete/VoiceChannelManagerImpl.java
@@ -16,7 +16,7 @@
package net.dv8tion.jda.internal.managers.channel.concrete;
-import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.managers.channel.concrete.VoiceChannelManager;
import net.dv8tion.jda.internal.managers.channel.ChannelManagerImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/WebSocketClient.java b/src/main/java/net/dv8tion/jda/internal/requests/WebSocketClient.java
index 7ddd69e0ec..afb1ad2bc3 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/WebSocketClient.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/WebSocketClient.java
@@ -22,8 +22,8 @@
import net.dv8tion.jda.api.*;
import net.dv8tion.jda.api.audio.hooks.ConnectionListener;
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
-import net.dv8tion.jda.api.entities.AudioChannel;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
import net.dv8tion.jda.api.events.*;
import net.dv8tion.jda.api.exceptions.ParsingException;
import net.dv8tion.jda.api.managers.AudioManager;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/ChannelActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/ChannelActionImpl.java
index 1852ae347b..f5559f2329 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/ChannelActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/ChannelActionImpl.java
@@ -20,7 +20,12 @@
import gnu.trove.map.hash.TLongObjectHashMap;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.Region;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/CommandCreateActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/CommandCreateActionImpl.java
index f0e29f8102..1593c6f687 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/CommandCreateActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/CommandCreateActionImpl.java
@@ -16,9 +16,9 @@
package net.dv8tion.jda.internal.requests.restaction;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions;
import net.dv8tion.jda.api.interactions.DiscordLocale;
import net.dv8tion.jda.api.interactions.commands.Command;
+import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions;
import net.dv8tion.jda.api.interactions.commands.build.OptionData;
import net.dv8tion.jda.api.interactions.commands.build.SubcommandData;
import net.dv8tion.jda.api.interactions.commands.build.SubcommandGroupData;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/GuildActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/GuildActionImpl.java
index 0e1a04915a..b5974d1f84 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/GuildActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/GuildActionImpl.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.internal.requests.restaction;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Icon;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.requests.restaction.GuildAction;
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageCreateActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageCreateActionImpl.java
index de363f8dc8..a7f24d9311 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageCreateActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageCreateActionImpl.java
@@ -16,9 +16,9 @@
package net.dv8tion.jda.internal.requests.restaction;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.Message;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.sticker.GuildSticker;
import net.dv8tion.jda.api.entities.sticker.StickerSnowflake;
import net.dv8tion.jda.api.requests.Request;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageEditActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageEditActionImpl.java
index c6a2920383..479ae49176 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageEditActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/MessageEditActionImpl.java
@@ -17,7 +17,7 @@
package net.dv8tion.jda.internal.requests.restaction;
import net.dv8tion.jda.api.entities.Message;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
import net.dv8tion.jda.api.requests.restaction.MessageEditAction;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/PermissionOverrideActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/PermissionOverrideActionImpl.java
index b11cb11a7b..f0adbb5e58 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/PermissionOverrideActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/PermissionOverrideActionImpl.java
@@ -18,14 +18,18 @@
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.IPermissionHolder;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.PermissionOverride;
+import net.dv8tion.jda.api.entities.Role;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
import net.dv8tion.jda.api.requests.restaction.PermissionOverrideAction;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.entities.PermissionOverrideImpl;
-import net.dv8tion.jda.internal.entities.mixin.channel.attribute.IPermissionContainerMixin;
+import net.dv8tion.jda.internal.entities.channel.mixin.attribute.IPermissionContainerMixin;
import net.dv8tion.jda.internal.requests.Route;
import net.dv8tion.jda.internal.utils.Checks;
import net.dv8tion.jda.internal.utils.PermissionUtil;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/StageInstanceActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/StageInstanceActionImpl.java
index 693ada75b9..22859611b4 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/StageInstanceActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/StageInstanceActionImpl.java
@@ -16,8 +16,8 @@
package net.dv8tion.jda.internal.requests.restaction;
-import net.dv8tion.jda.api.entities.StageChannel;
import net.dv8tion.jda.api.entities.StageInstance;
+import net.dv8tion.jda.api.entities.channel.concrete.StageChannel;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
import net.dv8tion.jda.api.requests.restaction.StageInstanceAction;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/ThreadChannelActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/ThreadChannelActionImpl.java
index d6ba3adb5b..ae66e44bcf 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/ThreadChannelActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/ThreadChannelActionImpl.java
@@ -16,10 +16,10 @@
package net.dv8tion.jda.internal.requests.restaction;
-import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.ChannelType;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
import net.dv8tion.jda.api.requests.restaction.ThreadChannelAction;
@@ -30,7 +30,6 @@
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.function.BooleanSupplier;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/TriggerRestAction.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/TriggerRestAction.java
index 28b8bb138c..2607b8777c 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/TriggerRestAction.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/TriggerRestAction.java
@@ -20,7 +20,6 @@
import net.dv8tion.jda.api.exceptions.ContextException;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
-import net.dv8tion.jda.api.requests.RestAction;
import net.dv8tion.jda.api.utils.MiscUtil;
import net.dv8tion.jda.api.utils.data.DataObject;
import net.dv8tion.jda.internal.requests.RestActionImpl;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookActionImpl.java
index f88dbb80f2..f1c550ade1 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookActionImpl.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.internal.requests.restaction;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.IWebhookContainer;
import net.dv8tion.jda.api.entities.Icon;
import net.dv8tion.jda.api.entities.Webhook;
+import net.dv8tion.jda.api.entities.channel.attribute.IWebhookContainer;
import net.dv8tion.jda.api.entities.channel.unions.IWebhookContainerUnion;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/interactions/DeferrableCallbackActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/interactions/DeferrableCallbackActionImpl.java
index 80463d06ae..af0be7afc7 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/interactions/DeferrableCallbackActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/interactions/DeferrableCallbackActionImpl.java
@@ -16,7 +16,6 @@
package net.dv8tion.jda.internal.requests.restaction.interactions;
-import net.dv8tion.jda.api.exceptions.InteractionFailureException;
import net.dv8tion.jda.api.interactions.InteractionHook;
import net.dv8tion.jda.api.requests.Request;
import net.dv8tion.jda.api.requests.Response;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/CategoryOrderActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/CategoryOrderActionImpl.java
index 2c581ca2bd..4e9c18f795 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/CategoryOrderActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/CategoryOrderActionImpl.java
@@ -16,9 +16,9 @@
package net.dv8tion.jda.internal.requests.restaction.order;
-import net.dv8tion.jda.api.entities.Category;
-import net.dv8tion.jda.api.entities.GuildChannel;
-import net.dv8tion.jda.api.entities.ICategorizableChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.requests.restaction.order.CategoryOrderAction;
import net.dv8tion.jda.internal.utils.Checks;
@@ -33,10 +33,10 @@ public class CategoryOrderActionImpl
protected final Category category;
/**
- * Creates a new CategoryOrderAction for the specified {@link net.dv8tion.jda.api.entities.Category Category}
+ * Creates a new CategoryOrderAction for the specified {@link Category Category}
*
* @param category
- * The target {@link net.dv8tion.jda.api.entities.Category Category}
+ * The target {@link Category Category}
* which the new CategoryOrderAction will order channels from.
* @param bucket
* The sorting bucket
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/ChannelOrderActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/ChannelOrderActionImpl.java
index b4172b4ae1..bf653ea930 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/ChannelOrderActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/order/ChannelOrderActionImpl.java
@@ -21,7 +21,11 @@
import gnu.trove.set.TLongSet;
import gnu.trove.set.hash.TLongHashSet;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
+import net.dv8tion.jda.api.entities.channel.concrete.Category;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.requests.restaction.order.ChannelOrderAction;
import net.dv8tion.jda.api.utils.data.DataArray;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/MessagePaginationActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/MessagePaginationActionImpl.java
index 0b97b98c3d..9818b5515b 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/MessagePaginationActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/MessagePaginationActionImpl.java
@@ -17,10 +17,10 @@
package net.dv8tion.jda.internal.requests.restaction.pagination;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message;
-import net.dv8tion.jda.api.entities.MessageChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.channel.unions.MessageChannelUnion;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.exceptions.ParsingException;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ReactionPaginationActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ReactionPaginationActionImpl.java
index 67b398248e..acd14e3873 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ReactionPaginationActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ReactionPaginationActionImpl.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.internal.requests.restaction.pagination;
import net.dv8tion.jda.api.entities.Message;
-import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.MessageReaction;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.exceptions.ParsingException;
import net.dv8tion.jda.api.requests.Request;
diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ThreadChannelPaginationActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ThreadChannelPaginationActionImpl.java
index c6cb7ffbc0..13d1ab15c3 100644
--- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ThreadChannelPaginationActionImpl.java
+++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/pagination/ThreadChannelPaginationActionImpl.java
@@ -1,10 +1,9 @@
package net.dv8tion.jda.internal.requests.restaction.pagination;
import gnu.trove.map.TLongObjectMap;
-import gnu.trove.map.hash.TLongObjectHashMap;
import net.dv8tion.jda.api.JDA;
-import net.dv8tion.jda.api.entities.IThreadContainer;
-import net.dv8tion.jda.api.entities.ThreadChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.entities.channel.unions.IThreadContainerUnion;
import net.dv8tion.jda.api.exceptions.ParsingException;
import net.dv8tion.jda.api.requests.Request;
@@ -18,7 +17,6 @@
import javax.annotation.Nonnull;
import java.time.OffsetDateTime;
-import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.EnumSet;
diff --git a/src/main/java/net/dv8tion/jda/internal/utils/Checks.java b/src/main/java/net/dv8tion/jda/internal/utils/Checks.java
index 5f41c9b71f..b1fb73d3e6 100644
--- a/src/main/java/net/dv8tion/jda/internal/utils/Checks.java
+++ b/src/main/java/net/dv8tion/jda/internal/utils/Checks.java
@@ -17,9 +17,9 @@
package net.dv8tion.jda.internal.utils;
import net.dv8tion.jda.api.Permission;
-import net.dv8tion.jda.api.entities.AudioChannel;
-import net.dv8tion.jda.api.entities.GuildChannel;
import net.dv8tion.jda.api.entities.IPermissionHolder;
+import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.exceptions.MissingAccessException;
import net.dv8tion.jda.api.interactions.components.ActionComponent;
import net.dv8tion.jda.api.interactions.components.Component;
diff --git a/src/main/java/net/dv8tion/jda/internal/utils/Helpers.java b/src/main/java/net/dv8tion/jda/internal/utils/Helpers.java
index 78df977259..aa331b482a 100644
--- a/src/main/java/net/dv8tion/jda/internal/utils/Helpers.java
+++ b/src/main/java/net/dv8tion/jda/internal/utils/Helpers.java
@@ -18,7 +18,7 @@
import gnu.trove.map.TLongObjectMap;
import gnu.trove.map.hash.TLongObjectHashMap;
-import net.dv8tion.jda.api.entities.Channel;
+import net.dv8tion.jda.api.entities.channel.Channel;
import net.dv8tion.jda.api.utils.data.DataArray;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/src/main/java/net/dv8tion/jda/internal/utils/PermissionUtil.java b/src/main/java/net/dv8tion/jda/internal/utils/PermissionUtil.java
index 0bb93f45ff..b085f5d19a 100644
--- a/src/main/java/net/dv8tion/jda/internal/utils/PermissionUtil.java
+++ b/src/main/java/net/dv8tion/jda/internal/utils/PermissionUtil.java
@@ -17,6 +17,11 @@
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.*;
+import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
+import net.dv8tion.jda.api.entities.channel.attribute.IPermissionContainer;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
+import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.internal.entities.GuildImpl;
import org.apache.commons.collections4.CollectionUtils;
@@ -145,7 +150,7 @@ public static boolean canInteract(Member issuer, RichCustomEmoji emoji)
/**
* Checks whether the specified {@link RichCustomEmoji Emoji} can be used by the provided
- * {@link net.dv8tion.jda.api.entities.User User} in the {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * {@link net.dv8tion.jda.api.entities.User User} in the {@link MessageChannel MessageChannel}.
*
* @param issuer
* The user that tries to interact with the emoji
@@ -190,7 +195,7 @@ public static boolean canInteract(User issuer, RichCustomEmoji emoji, MessageCha
/**
* Checks whether the specified {@link RichCustomEmoji} can be used by the provided
- * {@link net.dv8tion.jda.api.entities.User User} in the {@link net.dv8tion.jda.api.entities.MessageChannel MessageChannel}.
+ * {@link net.dv8tion.jda.api.entities.User User} in the {@link MessageChannel MessageChannel}.
*
* @param issuer
* The user that tries to interact with the emoji