use of io.discloader.discloader.common.event.EventListenerAdapter in project DiscLoader by R3alCl0ud.
the class GuildMember method takeRole.
@Override
public CompletableFuture<IGuildMember> takeRole(IRole... roles) {
if (!guild.hasPermission(Permissions.MANAGE_ROLES)) {
throw new PermissionsException("Insuccficient Permissions");
}
List<IRole> rls = getRoles();
for (IRole role : roles) {
if (!guild.isOwner() && role.getPosition() >= guild.getCurrentMember().getHighestRole().getPosition()) {
throw new PermissionsException("Cannot take away roles higher than your's");
}
if (hasRole(role)) {
rls.remove(role);
}
}
CompletableFuture<IGuildMember> future = new CompletableFuture<>();
String[] ids = new String[rls.size()];
for (int i = 0; i < ids.length; i++) {
ids[i] = SnowflakeUtil.asString(rls.get(i));
}
JSONObject payload = new JSONObject().put("roles", ids);
CompletableFuture<Void> tcf = getLoader().rest.request(Methods.PATCH, Endpoints.guildMember(getGuild().getID(), getID()), new RESTOptions(payload), Void.class);
IEventListener iel = new EventListenerAdapter() {
public void GuildMemberUpdate(GuildMemberUpdateEvent e) {
if (e.getMember().getID() == getID()) {
future.complete(e.getMember());
getLoader().removeEventListener(this);
}
}
};
getLoader().addEventListener(iel);
tcf.exceptionally(ex -> {
getLoader().removeEventListener(iel);
future.completeExceptionally(ex);
return null;
});
return future;
}
use of io.discloader.discloader.common.event.EventListenerAdapter in project DiscLoader by R3alCl0ud.
the class Main method main.
public static void main(String... args) throws IOException {
System.setProperty("http.agent", "DiscLoader");
String content = "";
if (new File("options.json").exists()) {
Object[] lines = Files.readAllLines(Paths.get("./options.json")).toArray();
for (Object line : lines) content += line;
options options = gson.fromJson(content, options.class);
token = options.auth.token;
}
DLOptions options = parseArgs(args);
try {
ModRegistry.startMods().get();
} catch (InterruptedException | ExecutionException e1) {
e1.printStackTrace();
}
if (options.shards > 1) {
ShardManager manager = new ShardManager(options);
manager.addShardingListener(new ShardingListenerAdapter() {
public void ShardLaunched(Shard shard) {
LOGGER.info(String.format("Shard #%d: Launched", shard.getShardID()));
shard.getLoader().addEventListener(new EventListenerAdapter() {
public void Ready(ReadyEvent e) {
for (Command command : CommandRegistry.commands.entries()) {
LOGGER.info(command.getUnlocalizedName());
}
}
@Override
public void RawPacket(RawEvent data) {
WebSocketFrame frame = data.getFrame();
if (data.isGateway() && frame.isTextFrame() && !frame.getPayloadText().contains("PRESENCE_UPDATE")) {
// LOGGER.fine(frame.getPayloadText());
} else if (data.isREST()) {
LOGGER.info(data.getHttpResponse().getBody());
LOGGER.info("" + data.getHttpResponse().getStatus());
}
}
@Override
public void GuildMessageCreate(GuildMessageCreateEvent e) {
if (e.getGuild().getID() != 282226852616077312l)
return;
if (e.getMessage().getContent().startsWith("logs")) {
String[] args = e.getMessage().getContent().split(" ");
if (args.length == 1) {
} else if (args.length == 2) {
}
}
}
});
}
});
manager.launchShards();
} else {
loader = new DiscLoader(options);
loader.addEventListener(new EventListenerAdapter() {
@Override
public void MessageCreate(MessageCreateEvent e) {
if (e.getMessage().getContent().equals("#$close")) {
e.getLoader().socket.ws.disconnect(1001);
}
}
public void Ready(ReadyEvent e) {
LOGGER.info(e.getLoader().user.getUsername());
for (Command command : CommandRegistry.commands.entries()) {
LOGGER.info(command.getUnlocalizedName());
}
LOGGER.info(EntityRegistry.getGuildByID(282226852616077312l).getDefaultChannel().getName());
// .sendMessage("testing 125");
}
@Override
public void RawPacket(RawEvent data) {
WebSocketFrame frame = data.getFrame();
if (data.isGateway() && frame.isTextFrame() && !frame.getPayloadText().contains("PRESENCE_UPDATE")) {
LOGGER.info(frame.getPayloadText());
} else if (data.isREST() && data.getHttpResponse() != null) {
LOGGER.info(data.getHttpResponse().getBody());
}
}
});
loader.login();
}
}
Aggregations