use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.
the class Guild method delete.
public CompletableFuture<IGuild> delete() {
if (!isOwner())
throw new UnauthorizedException("Only the guild's owner can delete a guild");
CompletableFuture<IGuild> future = new CompletableFuture<>();
loader.rest.makeRequest(Endpoints.guild(getID()), DLUtil.Methods.DELETE, true).thenAcceptAsync(data -> {
future.complete(this);
});
return future;
}
use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.
the class GuildBanRemove method handle.
@Override
public void handle(SocketPacket packet) {
String d = gson.toJson(packet.d);
GuildMemberRemoveJSON data = gson.fromJson(d, GuildMemberRemoveJSON.class);
IGuild guild = EntityRegistry.getGuildByID(data.guild_id);
IUser user = EntityRegistry.addUser(data.user);
GuildBanRemoveEvent event = new GuildBanRemoveEvent(guild, user);
loader.emit(DLUtil.Events.GUILD_BAN_REMOVE, event);
loader.emit(event);
}
use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.
the class GuildCreate method handle.
@Override
public void handle(SocketPacket packet) {
Gson gson = new Gson();
String d = gson.toJson(packet.d);
GuildJSON data = gson.fromJson(d, GuildJSON.class);
IGuild guild = null;
if (EntityRegistry.guildExists(data.id))
guild = EntityRegistry.getGuildByID(data.id);
if (guild != null) {
try {
if (!guild.isAvailable() && !data.unavailable) {
guild.setup(data);
if (shouldEmit()) {
GuildCreateEvent event = new GuildCreateEvent(guild);
loader.emit(Events.GUILD_CREATE, event);
loader.emit(event);
}
loader.checkReady();
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
// a brand new guild
guild = EntityRegistry.addGuild(data);
if (this.shouldEmit()) {
GuildCreateEvent event = new GuildCreateEvent(guild);
loader.emit(Events.GUILD_CREATE, event);
loader.emit(event);
}
}
}
use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.
the class GuildDelete method handle.
@Override
public void handle(SocketPacket packet) {
String d = this.gson.toJson(packet.d);
GuildJSON data = this.gson.fromJson(d, GuildJSON.class);
IGuild guild = null;
if (EntityRegistry.guildExists(data.id)) {
guild = EntityRegistry.getGuildByID(data.id);
guild.setup(data);
} else {
guild = EntityRegistry.addGuild(data);
}
if (!guild.isAvailable()) {
EntityRegistry.removeGuild(guild);
if (socket.status == Status.READY && loader.ready) {
GuildDeleteEvent event = new GuildDeleteEvent(guild);
loader.emit(Events.GUILD_DELETE, event);
for (IEventListener e : loader.handlers) {
e.GuildDelete(event);
}
}
}
}
use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.
the class GuildSync method handle.
@Override
public void handle(SocketPacket packet) {
String d = gson.toJson(packet.d);
GuildSyncJSON data = gson.fromJson(d, GuildSyncJSON.class);
IGuild guild = EntityRegistry.getGuildByID(data.id);
for (PresenceJSON pe : data.presences) {
guild.setPresence(pe);
}
for (MemberJSON me : data.members) {
guild.addMember(me);
}
}
Aggregations