use of de.btobastian.javacord.listener.server.ServerMemberRemoveListener in project Javacord by BtoBastian.
the class GuildMemberRemoveHandler method handle.
@Override
public void handle(JSONObject packet) {
final Server server = api.getServerById(packet.getString("guild_id"));
final User user = api.getOrCreateUser(packet.getJSONObject("user"));
if (server != null) {
((ImplServer) server).removeMember(user);
((ImplServer) server).decrementMemberCount();
listenerExecutorService.submit(new Runnable() {
@Override
public void run() {
List<ServerMemberRemoveListener> listeners = api.getListeners(ServerMemberRemoveListener.class);
synchronized (listeners) {
for (ServerMemberRemoveListener listener : listeners) {
try {
listener.onServerMemberRemove(api, user, server);
} catch (Throwable t) {
logger.warn("Uncaught exception in ServerMemberRemoveListener!", t);
}
}
}
}
});
}
}
Aggregations