Search in sources :

Example 21 with IGuild

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

the class PresenceUpdate method handle.

@Override
public void handle(SocketPacket packet) {
    PresenceJSON data = this.gson.fromJson(gson.toJson(packet.d), PresenceJSON.class);
    IUser user = EntityRegistry.getUserByID(data.user.id);
    if (user == null) {
        if (data.user.username != null) {
            user = EntityRegistry.addUser(data.user);
        } else {
            return;
        }
    }
    IUser oldUser = new User(user);
    user.setup(data.user);
    if (!user.equals(oldUser)) {
        UserUpdateEvent event = new UserUpdateEvent(user, oldUser);
        loader.emit(DLUtil.Events.USER_UPDATE, event);
        loader.emit(event);
    }
    IGuild guild = data.guild_id == null ? null : EntityRegistry.getGuildByID(data.guild_id);
    if (guild != null) {
        IGuildMember oldMember = guild.getMember(user.getID()), member;
        if (oldMember == null && !data.status.equalsIgnoreCase("offline")) {
            member = guild.addMember(user, data.roles, false, false, data.nick, false);
            loader.emit(DLUtil.Events.GUILD_MEMBER_AVAILABLE, member);
        } else if (oldMember != null) {
            member = guild.addMember(user, data.roles, oldMember.isDeafened(), oldMember.isMuted(), data.nick, false);
            guild.setPresence(data);
            loader.emit(new GuildMemberUpdateEvent(member, oldMember));
        } else {
            guild.setPresence(data);
        }
    }
}
Also used : UserUpdateEvent(io.discloader.discloader.common.event.UserUpdateEvent) User(io.discloader.discloader.core.entity.user.User) IUser(io.discloader.discloader.entity.user.IUser) GuildMemberUpdateEvent(io.discloader.discloader.common.event.guild.member.GuildMemberUpdateEvent) IUser(io.discloader.discloader.entity.user.IUser) IGuildMember(io.discloader.discloader.entity.guild.IGuildMember) PresenceJSON(io.discloader.discloader.network.json.PresenceJSON) IGuild(io.discloader.discloader.entity.guild.IGuild)

Example 22 with IGuild

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

the class RoleCreate method handle.

@Override
public void handle(SocketPacket packet) {
    String d = gson.toJson(packet.d);
    GuildRoleJSON data = gson.fromJson(d, GuildRoleJSON.class);
    IGuild guild = EntityRegistry.getGuildByID(data.guild_id);
    IRole role = guild.addRole(gfac.buildRole(guild, data.role));
    GuildRoleCreateEvent event = new GuildRoleCreateEvent(role);
    loader.emit(DLUtil.Events.GUILD_ROLE_CREATE, 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) GuildRoleCreateEvent(io.discloader.discloader.common.event.guild.role.GuildRoleCreateEvent)

Example 23 with IGuild

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

the class EntityRegistry method addGuild.

public static IGuild addGuild(GuildJSON data) {
    IGuild guild = EntityBuilder.getGuildFactory().buildGuild(data);
    guilds.put(guild.getID(), guild);
    return guild;
}
Also used : 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