Skip to content

Commit

Permalink
Added Get Guild Member endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
felldo committed Feb 9, 2021
1 parent 19bf2f3 commit 3b12792
Show file tree
Hide file tree
Showing 25 changed files with 52 additions and 23 deletions.
Expand Up @@ -26,6 +26,7 @@
import org.javacord.api.entity.permission.Role;
import org.javacord.api.entity.permission.RoleBuilder;
import org.javacord.api.entity.server.invite.RichInvite;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.api.entity.webhook.IncomingWebhook;
import org.javacord.api.entity.webhook.Webhook;
Expand Down Expand Up @@ -149,6 +150,7 @@ public interface Server extends DiscordEntity, Nameable, UpdatableFromCache<Serv
*
* <p>Setting a preferred locale is only available for public servers.
* You can check if a server is public using the {@link #getFeatures()} methods.
*
* @return The sever's preferred locale.
*/
Locale getPreferredLocale();
Expand Down Expand Up @@ -1792,6 +1794,24 @@ default CompletableFuture<Void> undeafenUser(User user, String reason) {
return createUpdater().setDeafened(user, false).setAuditLogReason(reason).update();
}

/**
* Requests a server member.
*
* @param user The user to request as a member.
* @return A future to get a server member if it exists in the server.
*/
default CompletableFuture<Member> requestMember(User user) {
return requestMember(user.getId());
}

/**
* Requests a server member.
*
* @param userId The user id of the member to request.
* @return A future to get a server member if it exists in the server.
*/
CompletableFuture<Member> requestMember(long userId);

/**
* Kicks the given user from the server.
*
Expand Down
@@ -1,4 +1,4 @@
package org.javacord.core.entity.user;
package org.javacord.api.entity.user;

import org.javacord.api.entity.DiscordEntity;
import org.javacord.api.entity.Mentionable;
Expand Down
Expand Up @@ -31,6 +31,7 @@
import org.javacord.api.entity.message.UncachedMessageUtil;
import org.javacord.api.entity.server.Server;
import org.javacord.api.entity.server.invite.Invite;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.api.entity.user.UserStatus;
import org.javacord.api.entity.webhook.IncomingWebhook;
Expand All @@ -52,7 +53,6 @@
import org.javacord.core.entity.message.UncachedMessageUtilImpl;
import org.javacord.core.entity.server.ServerImpl;
import org.javacord.core.entity.server.invite.InviteImpl;
import org.javacord.core.entity.user.Member;
import org.javacord.core.entity.user.MemberImpl;
import org.javacord.core.entity.user.UserImpl;
import org.javacord.core.entity.user.UserPresence;
Expand Down
Expand Up @@ -18,12 +18,12 @@
import org.javacord.api.entity.message.embed.EmbedBuilder;
import org.javacord.api.entity.message.internal.MessageBuilderDelegate;
import org.javacord.api.entity.message.mention.AllowedMentions;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.api.entity.webhook.IncomingWebhook;
import org.javacord.core.DiscordApiImpl;
import org.javacord.core.entity.message.embed.EmbedBuilderDelegateImpl;
import org.javacord.core.entity.message.mention.AllowedMentionsImpl;
import org.javacord.core.entity.user.Member;
import org.javacord.core.util.FileContainer;
import org.javacord.core.util.logging.LoggerUtil;
import org.javacord.core.util.rest.RestEndpoint;
Expand Down
Expand Up @@ -6,10 +6,10 @@
import org.javacord.api.entity.permission.Permissions;
import org.javacord.api.entity.permission.Role;
import org.javacord.api.entity.server.Server;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.core.DiscordApiImpl;
import org.javacord.core.entity.server.ServerImpl;
import org.javacord.core.entity.user.Member;
import org.javacord.core.entity.user.UserImpl;
import org.javacord.core.listener.server.role.InternalRoleAttachableListenerManager;
import org.javacord.core.util.rest.RestEndpoint;
Expand Down
Expand Up @@ -33,6 +33,7 @@
import org.javacord.api.entity.server.ServerFeature;
import org.javacord.api.entity.server.VerificationLevel;
import org.javacord.api.entity.server.invite.RichInvite;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.api.entity.user.UserStatus;
import org.javacord.api.entity.webhook.IncomingWebhook;
Expand All @@ -50,7 +51,6 @@
import org.javacord.core.entity.channel.ServerVoiceChannelImpl;
import org.javacord.core.entity.permission.RoleImpl;
import org.javacord.core.entity.server.invite.InviteImpl;
import org.javacord.core.entity.user.Member;
import org.javacord.core.entity.user.MemberImpl;
import org.javacord.core.entity.user.UserImpl;
import org.javacord.core.entity.webhook.IncomingWebhookImpl;
Expand Down Expand Up @@ -1355,6 +1355,14 @@ public void selfUndeafen() {
this, getConnectedVoiceChannel(api.getYourself()).orElse(null), null, false);
}

@Override
public CompletableFuture<Member> requestMember(long userId) {
return new RestRequest<Member>(getApi(), RestMethod.GET, RestEndpoint.SERVER_MEMBER)
.setUrlParameters(getIdAsString(), Long.toUnsignedString(userId))
.execute(result -> new MemberImpl(api, this, result.getJsonBody(), null));

}

@Override
public CompletableFuture<Void> kickUser(User user, String reason) {
return new RestRequest<Void>(getApi(), RestMethod.DELETE, RestEndpoint.SERVER_MEMBER)
Expand Down
Expand Up @@ -4,6 +4,7 @@
import org.javacord.api.DiscordApi;
import org.javacord.api.entity.permission.Role;
import org.javacord.api.entity.server.Server;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.core.DiscordApiImpl;
import org.javacord.core.entity.server.ServerImpl;
Expand Down
@@ -1,8 +1,8 @@
package org.javacord.core.event.channel.server.voice;

import org.javacord.api.entity.channel.ServerVoiceChannel;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link ServerVoiceChannelEventImpl}.
Expand Down
@@ -1,8 +1,8 @@
package org.javacord.core.event.channel.server.voice;

import org.javacord.api.entity.channel.ServerVoiceChannel;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.channel.server.voice.ServerVoiceChannelMemberJoinEvent;
import org.javacord.core.entity.user.Member;

import java.util.Optional;

Expand Down
Expand Up @@ -2,8 +2,8 @@
package org.javacord.core.event.channel.server.voice;

import org.javacord.api.entity.channel.ServerVoiceChannel;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.channel.server.voice.ServerVoiceChannelMemberLeaveEvent;
import org.javacord.core.entity.user.Member;

import java.util.Optional;

Expand Down
Expand Up @@ -4,8 +4,8 @@
import org.javacord.api.entity.channel.TextChannel;
import org.javacord.api.entity.emoji.Emoji;
import org.javacord.api.entity.message.Reaction;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.message.reaction.ReactionAddEvent;
import org.javacord.core.entity.user.Member;

import java.util.concurrent.CompletableFuture;

Expand Down
@@ -1,8 +1,8 @@
package org.javacord.core.event.server.role;

import org.javacord.api.entity.permission.Role;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.server.role.UserRoleAddEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link UserRoleAddEvent}.
Expand Down
@@ -1,9 +1,9 @@
package org.javacord.core.event.server.role;

import org.javacord.api.entity.permission.Role;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.api.event.server.role.UserRoleEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link UserRoleEvent}.
Expand Down
@@ -1,8 +1,8 @@
package org.javacord.core.event.server.role;

import org.javacord.api.entity.permission.Role;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.server.role.UserRoleRemoveEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link UserRoleRemoveEvent}.
Expand Down
@@ -1,9 +1,9 @@
package org.javacord.core.event.user;

import org.javacord.api.entity.channel.TextChannel;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.api.event.user.TextChannelUserEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link TextChannelUserEvent}.
Expand Down
@@ -1,7 +1,7 @@
package org.javacord.core.event.user;

import org.javacord.api.entity.user.Member;
import org.javacord.api.event.user.UserChangeDeafenedEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link UserChangeDeafenedEvent}.
Expand Down
@@ -1,7 +1,7 @@
package org.javacord.core.event.user;

import org.javacord.api.entity.user.Member;
import org.javacord.api.event.user.UserChangeMutedEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link UserChangeMutedEvent}.
Expand Down
@@ -1,7 +1,7 @@
package org.javacord.core.event.user;

import org.javacord.api.entity.user.Member;
import org.javacord.api.event.user.UserChangeNicknameEvent;
import org.javacord.core.entity.user.Member;

import java.util.Optional;

Expand Down
@@ -1,7 +1,7 @@
package org.javacord.core.event.user;

import org.javacord.api.entity.user.Member;
import org.javacord.api.event.user.UserChangeSelfDeafenedEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link UserChangeSelfDeafenedEvent}.
Expand Down
@@ -1,7 +1,7 @@
package org.javacord.core.event.user;

import org.javacord.api.entity.user.Member;
import org.javacord.api.event.user.UserChangeSelfMutedEvent;
import org.javacord.core.entity.user.Member;

/**
* The implementation of {@link UserChangeSelfMutedEvent}.
Expand Down
@@ -1,9 +1,9 @@
package org.javacord.core.event.user;

import org.javacord.api.entity.channel.TextChannel;
import org.javacord.api.entity.user.Member;
import org.javacord.api.entity.user.User;
import org.javacord.api.event.user.UserStartTypingEvent;
import org.javacord.core.entity.user.Member;
import org.javacord.core.event.EventImpl;

import java.util.Optional;
Expand Down
Expand Up @@ -3,7 +3,7 @@
import io.vavr.Tuple;
import io.vavr.Tuple2;
import org.javacord.api.entity.server.Server;
import org.javacord.core.entity.user.Member;
import org.javacord.api.entity.user.Member;
import org.javacord.core.util.ImmutableToJavaMapper;

import java.util.Optional;
Expand Down
Expand Up @@ -5,11 +5,11 @@
import org.javacord.api.DiscordApi;
import org.javacord.api.entity.channel.ServerTextChannel;
import org.javacord.api.entity.permission.Role;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.server.role.UserRoleAddEvent;
import org.javacord.api.event.server.role.UserRoleRemoveEvent;
import org.javacord.api.event.user.UserChangeNicknameEvent;
import org.javacord.core.entity.server.ServerImpl;
import org.javacord.core.entity.user.Member;
import org.javacord.core.entity.user.MemberImpl;
import org.javacord.core.event.server.role.UserRoleAddEventImpl;
import org.javacord.core.event.server.role.UserRoleRemoveEventImpl;
Expand Down
Expand Up @@ -7,6 +7,7 @@
import org.javacord.api.entity.channel.PrivateChannel;
import org.javacord.api.entity.channel.ServerVoiceChannel;
import org.javacord.api.entity.server.Server;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.channel.server.voice.ServerVoiceChannelMemberJoinEvent;
import org.javacord.api.event.channel.server.voice.ServerVoiceChannelMemberLeaveEvent;
import org.javacord.api.event.server.VoiceStateUpdateEvent;
Expand All @@ -15,7 +16,6 @@
import org.javacord.core.entity.channel.PrivateChannelImpl;
import org.javacord.core.entity.channel.ServerVoiceChannelImpl;
import org.javacord.core.entity.server.ServerImpl;
import org.javacord.core.entity.user.Member;
import org.javacord.core.entity.user.MemberImpl;
import org.javacord.core.event.channel.server.voice.ServerVoiceChannelMemberJoinEventImpl;
import org.javacord.core.event.channel.server.voice.ServerVoiceChannelMemberLeaveEventImpl;
Expand Down
Expand Up @@ -6,11 +6,11 @@
import org.javacord.api.entity.emoji.Emoji;
import org.javacord.api.entity.message.Message;
import org.javacord.api.entity.server.Server;
import org.javacord.api.entity.user.Member;
import org.javacord.api.event.message.reaction.ReactionAddEvent;
import org.javacord.core.entity.emoji.UnicodeEmojiImpl;
import org.javacord.core.entity.message.MessageImpl;
import org.javacord.core.entity.server.ServerImpl;
import org.javacord.core.entity.user.Member;
import org.javacord.core.entity.user.MemberImpl;
import org.javacord.core.event.message.reaction.ReactionAddEventImpl;
import org.javacord.core.util.event.DispatchQueueSelector;
Expand Down

0 comments on commit 3b12792

Please sign in to comment.