@Override public RestAction<Void> delete() { if (!getJDA().getSelfUser().isBot() && getJDA().getSelfUser().isMfaEnabled()) throw new IllegalStateException("Cannot delete a guild without providing MFA code. Use Guild#delete(String)"); return delete(null); }
@Override public RestAction<Void> delete(String mfaCode) { if (!owner.equals(getSelfMember())) throw new PermissionException("Cannot delete a guild that you do not own!"); JSONObject mfaBody = null; if (!getJDA().getSelfUser().isBot() && getJDA().getSelfUser().isMfaEnabled()) { Checks.notEmpty(mfaCode, "Provided MultiFactor Auth code"); mfaBody = new JSONObject().put("code", mfaCode); } Route.CompiledRoute route = Route.Guilds.DELETE_GUILD.compile(getId()); return new RestAction<Void>(getJDA(), route, mfaBody) { @Override protected void handleResponse(Response response, Request<Void> request) { if (response.isOk()) request.onSuccess(null); else request.onFailure(response); } }; }