@Override protected String handleInternally(JSONObject content) { String messageId = content.getString("id"); String channelId = content.getString("channel_id"); TextChannel channel = api.getChannelMap().get(channelId); if (channel != null) { if (GuildLock.get(api).isLocked(channel.getGuild().getId())) { return channel.getGuild().getId(); } api.getEventManager() .handle( new GuildMessageDeleteEvent( api, responseNumber, messageId, channel)); } else { PrivateChannel privChannel = api.getPmChannelMap().get(channelId); if (privChannel == null) throw new IllegalArgumentException( "Message deleted in unknown channel! (unknown channel id). JSON: " + content); api.getEventManager() .handle( new PrivateMessageDeleteEvent( api, responseNumber, messageId, privChannel)); } // Combo event api.getEventManager() .handle(new MessageDeleteEvent(api, responseNumber, messageId, channelId, channel == null)); return null; }
@Override protected String handleInternally(JSONObject content) { ChannelType type = ChannelType.fromId(content.getInt("type")); if ((type == ChannelType.TEXT || type == ChannelType.VOICE) && GuildLock.get(api).isLocked(content.getString("guild_id"))) { return content.getString("guild_id"); } switch (type) { case TEXT: { api.getEventManager() .handle( new TextChannelCreateEvent( api, responseNumber, new EntityBuilder(api) .createTextChannel(content, content.getString("guild_id")))); break; } case VOICE: { api.getEventManager() .handle( new VoiceChannelCreateEvent( api, responseNumber, new EntityBuilder(api) .createVoiceChannel(content, content.getString("guild_id")))); break; } case PRIVATE: { PrivateChannel pc = new EntityBuilder(api).createPrivateChannel(content); if (pc == null) { JDAImpl.LOG.warn( "Discord API sent us a Private CREATE_CHANNEL for a user we can't see, ignoring event."); } else { api.getEventManager() .handle(new PrivateChannelCreateEvent(api, responseNumber, pc.getUser())); } break; } case GROUP: { JDAImpl.LOG.debug( "Received GROUP channel create. Ignoring because JDA doesn't support groups. (Use JDA-Client)"); break; } default: throw new IllegalArgumentException( "Discord provided an CREATE_CHANNEL event with an unknown channel type! JSON: " + content); } EventCache.get(api).playbackCache(EventCache.Type.CHANNEL, content.getString("id")); return null; }