diff --git a/javacord-api/src/main/java/org/javacord/api/entity/message/MessageAuthor.java b/javacord-api/src/main/java/org/javacord/api/entity/message/MessageAuthor.java index 31d7c09ab8..ad5f10b401 100644 --- a/javacord-api/src/main/java/org/javacord/api/entity/message/MessageAuthor.java +++ b/javacord-api/src/main/java/org/javacord/api/entity/message/MessageAuthor.java @@ -6,6 +6,7 @@ import org.javacord.api.entity.Icon; import org.javacord.api.entity.Nameable; import org.javacord.api.entity.channel.Categorizable; +import org.javacord.api.entity.channel.ServerVoiceChannel; import org.javacord.api.entity.server.Server; import org.javacord.api.entity.user.User; import org.javacord.api.entity.webhook.Webhook; @@ -66,6 +67,16 @@ default String getDiscriminatedName() { */ Icon getAvatar(); + /** + * Gets the voice channel this MessageAuthor (if it is an User) + * is connected to on the server where the message has been sent. + * + * @return The server voice channel the MessageAuthor is connected to. + */ + default Optional getConnectedVoiceChannel() { + return getMessage().getServer().flatMap(server -> server.getConnectedVoiceChannel(getId())); + } + /** * Checks if the author of the message is a user. *