Search in sources :

Example 11 with IGuild

use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.

the class GuildMembersChunk method handle.

@Override
public void handle(SocketPacket packet) {
    String d = this.gson.toJson(packet.d);
    GuildMembersChunkJSON data = this.gson.fromJson(d, GuildMembersChunkJSON.class);
    IGuild guild = EntityRegistry.getGuildByID(data.guild_id);
    if (guild == null)
        return;
    Map<Long, IGuildMember> members = new HashMap<>();
    for (MemberJSON m : data.members) {
        IGuildMember member = EntityBuilder.getGuildFactory().buildMember(guild, EntityRegistry.addUser(m.user), new String[] {}, false, false, null);
        guild.addMember(member);
        members.put(member.getID(), member);
    }
    GuildMembersChunkEvent event = new GuildMembersChunkEvent(guild, members);
    loader.emit(event);
}
Also used : HashMap(java.util.HashMap) GuildMembersChunkEvent(io.discloader.discloader.common.event.guild.member.GuildMembersChunkEvent) GuildMembersChunkJSON(io.discloader.discloader.network.json.GuildMembersChunkJSON) IGuildMember(io.discloader.discloader.entity.guild.IGuildMember) IGuild(io.discloader.discloader.entity.guild.IGuild) MemberJSON(io.discloader.discloader.network.json.MemberJSON)

Example 12 with IGuild

use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.

the class GuildUpdate method handle.

@Override
public void handle(SocketPacket packet) {
    String d = gson.toJson(packet.d);
    GuildJSON data = gson.fromJson(d, GuildJSON.class);
    IGuild guild = EntityRegistry.getGuildByID(data.id);
    IGuild oldGuild = guild.clone();
    guild.setup(data);
    GuildUpdateEvent event = new GuildUpdateEvent(guild, oldGuild);
    loader.emit(DLUtil.Events.GUILD_UPDATE, event);
    loader.emit(event);
}
Also used : GuildUpdateEvent(io.discloader.discloader.common.event.guild.GuildUpdateEvent) GuildJSON(io.discloader.discloader.network.json.GuildJSON) IGuild(io.discloader.discloader.entity.guild.IGuild)

Example 13 with IGuild

use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.

the class RoleDelete method handle.

@Override
public void handle(SocketPacket packet) {
    String d = this.gson.toJson(packet.d);
    GuildRoleJSON data = this.gson.fromJson(d, GuildRoleJSON.class);
    IGuild guild = EntityRegistry.getGuildByID(data.guild_id);
    IRole role = guild.removeRole(data.role_id);
    if (role == null)
        return;
    GuildRoleDeleteEvent event = new GuildRoleDeleteEvent(role);
    loader.emit(DLUtil.Events.GUILD_ROLE_DELETE, event);
    loader.emit(event);
}
Also used : IRole(io.discloader.discloader.entity.guild.IRole) IGuild(io.discloader.discloader.entity.guild.IGuild) GuildRoleJSON(io.discloader.discloader.network.json.GuildRoleJSON) GuildRoleDeleteEvent(io.discloader.discloader.common.event.guild.role.GuildRoleDeleteEvent)

Example 14 with IGuild

use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.

the class RoleUpdate method handle.

@Override
public void handle(SocketPacket packet) {
    String d = this.gson.toJson(packet.d);
    Packet data = this.gson.fromJson(d, Packet.class);
    IGuild guild = EntityRegistry.getGuildByID(data.guild_id);
    IRole oldRole = guild.getRoleByID(data.role.id);
    IRole role = guild.addRole(data.role);
    GuildRoleUpdateEvent event = new GuildRoleUpdateEvent(role, oldRole);
    loader.emit(DLUtil.Events.GUILD_ROLE_UPDATE, event);
    loader.emit(event);
}
Also used : GuildRoleUpdateEvent(io.discloader.discloader.common.event.guild.role.GuildRoleUpdateEvent) IRole(io.discloader.discloader.entity.guild.IRole) IGuild(io.discloader.discloader.entity.guild.IGuild)

Example 15 with IGuild

use of io.discloader.discloader.entity.guild.IGuild in project DiscLoader by R3alCl0ud.

the class VoiceStateUpdate method handle.

@Override
public void handle(SocketPacket packet) {
    String d = this.gson.toJson(packet.d);
    VoiceStateJSON data = this.gson.fromJson(d, VoiceStateJSON.class);
    IGuild guild = EntityRegistry.getGuildByID(data.guild_id);
    if (guild.getMember(data.user_id) == null)
        return;
    VoiceState currentState = new VoiceState(data, guild);
    VoiceState oldState = guild.getVoiceStates().get(SnowflakeUtil.parse(data.user_id));
    VoiceConnection connection = EntityRegistry.getVoiceConnectionByID(guild.getID());
    if (connection != null && SnowflakeUtil.asString(loader.user).equals(data.user_id)) {
        connection.setSessionID(data.session_id);
        connection.setStateUpdated(true);
        connection.setVoiceChannel(currentState.channel);
    }
    guild.updateVoiceState(currentState);
    if (shouldEmit()) {
        if (currentState.channel != null && (oldState != null && oldState.channel != null)) {
            loader.emit(new VoiceSwitchEvent(currentState.member, oldState.channel));
        } else if (currentState.channel != null) {
            loader.emit(new VoiceJoinEvent(currentState.member));
        } else if (oldState != null && oldState.channel != null) {
            loader.emit(new VoiceLeaveEvent(currentState.member, oldState.channel));
        }
        if (oldState != null) {
            VoiceStateUpdateEvent event = new VoiceStateUpdateEvent(oldState, currentState);
            loader.emit(event);
        }
    }
}
Also used : VoiceSwitchEvent(io.discloader.discloader.common.event.guild.member.GuildMemberEvent.VoiceSwitchEvent) VoiceConnection(io.discloader.discloader.entity.voice.VoiceConnection) VoiceStateUpdateEvent(io.discloader.discloader.common.event.voice.VoiceStateUpdateEvent) VoiceState(io.discloader.discloader.entity.voice.VoiceState) VoiceLeaveEvent(io.discloader.discloader.common.event.guild.member.GuildMemberEvent.VoiceLeaveEvent) VoiceJoinEvent(io.discloader.discloader.common.event.guild.member.GuildMemberEvent.VoiceJoinEvent) VoiceStateJSON(io.discloader.discloader.network.json.VoiceStateJSON) IGuild(io.discloader.discloader.entity.guild.IGuild)

Aggregations

IGuild (io.discloader.discloader.entity.guild.IGuild)23 IGuildMember (io.discloader.discloader.entity.guild.IGuildMember)4 GuildJSON (io.discloader.discloader.network.json.GuildJSON)4 MemberJSON (io.discloader.discloader.network.json.MemberJSON)4 IChannel (io.discloader.discloader.entity.channel.IChannel)3 IRole (io.discloader.discloader.entity.guild.IRole)3 IUser (io.discloader.discloader.entity.user.IUser)3 ChannelJSON (io.discloader.discloader.network.json.ChannelJSON)3 GuildMemberRemoveJSON (io.discloader.discloader.network.json.GuildMemberRemoveJSON)3 GuildMemberUpdateEvent (io.discloader.discloader.common.event.guild.member.GuildMemberUpdateEvent)2 PresenceJSON (io.discloader.discloader.network.json.PresenceJSON)2 HashMap (java.util.HashMap)2 Gson (com.google.gson.Gson)1 IEventListener (io.discloader.discloader.common.event.IEventListener)1 UserUpdateEvent (io.discloader.discloader.common.event.UserUpdateEvent)1 ChannelCreateEvent (io.discloader.discloader.common.event.channel.ChannelCreateEvent)1 ChannelDeleteEvent (io.discloader.discloader.common.event.channel.ChannelDeleteEvent)1 ChannelUpdateEvent (io.discloader.discloader.common.event.channel.ChannelUpdateEvent)1 GuildChannelUpdateEvent (io.discloader.discloader.common.event.channel.GuildChannelUpdateEvent)1 GuildBanAddEvent (io.discloader.discloader.common.event.guild.GuildBanAddEvent)1