Skip to content

Commit 1a62381

Browse files
Add option to exclude deprecated voice regions
Default behaviour is still retrieving deprecated regions, must pass false to retrieveRegions(boolean) in order to exclude them.
1 parent 06f1ebb commit 1a62381

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/main/java/net/dv8tion/jda/core/entities/Guild.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,27 @@ public interface Guild extends ISnowflake
4545
{
4646
/**
4747
* Retrieves the available regions for this Guild
48+
* <br>Shortcut for {@link #retrieveRegions(boolean) retrieveRegions(true)}
49+
* <br>This will include deprecated voice regions by default.
4850
*
4951
* @return {@link net.dv8tion.jda.core.requests.RestAction RestAction} - Type {@link java.util.EnumSet EnumSet}
5052
*/
5153
@CheckReturnValue
52-
RestAction<EnumSet<Region>> retrieveRegions();
54+
default RestAction<EnumSet<Region>> retrieveRegions()
55+
{
56+
return retrieveRegions(true);
57+
}
58+
59+
/**
60+
* Retrieves the available regions for this Guild
61+
*
62+
* @param includeDeprecated
63+
* Whether to include deprecated regions
64+
*
65+
* @return {@link net.dv8tion.jda.core.requests.RestAction RestAction} - Type {@link java.util.EnumSet EnumSet}
66+
*/
67+
@CheckReturnValue
68+
RestAction<EnumSet<Region>> retrieveRegions(boolean includeDeprecated);
5369

5470
/**
5571
* Adds the user represented by the provided id to this guild.

src/main/java/net/dv8tion/jda/core/entities/impl/GuildImpl.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import net.dv8tion.jda.core.requests.restaction.MemberAction;
3838
import net.dv8tion.jda.core.requests.restaction.pagination.AuditLogPaginationAction;
3939
import net.dv8tion.jda.core.utils.Checks;
40+
import net.dv8tion.jda.core.utils.Helpers;
4041
import net.dv8tion.jda.core.utils.MiscUtil;
4142
import net.dv8tion.jda.core.utils.cache.MemberCacheView;
4243
import net.dv8tion.jda.core.utils.cache.SnowflakeCacheView;
@@ -99,7 +100,7 @@ public GuildImpl(JDAImpl api, long id)
99100
}
100101

101102
@Override
102-
public RestAction<EnumSet<Region>> retrieveRegions()
103+
public RestAction<EnumSet<Region>> retrieveRegions(boolean includeDeprecated)
103104
{
104105
Route.CompiledRoute route = Route.Guilds.GET_VOICE_REGIONS.compile(getId());
105106
return new RestAction<EnumSet<Region>>(api, route)
@@ -117,6 +118,8 @@ protected void handleResponse(Response response, Request<EnumSet<Region>> reques
117118
for (int i = 0; arr != null && i < arr.length(); i++)
118119
{
119120
JSONObject obj = arr.getJSONObject(i);
121+
if (!includeDeprecated && Helpers.optBoolean(obj, "deprecated"))
122+
continue;
120123
String id = obj.optString("id");
121124
Region region = Region.fromKey(id);
122125
if (region != Region.UNKNOWN)

0 commit comments

Comments
 (0)