[AB-318] adding a mention of the original message to link embed

updating JDA version
This commit is contained in:
Sheldan
2021-09-04 16:30:16 +02:00
parent d7f889971d
commit 448332f24f
5 changed files with 17 additions and 2 deletions

View File

@@ -70,6 +70,7 @@ public class MessageEmbedListener implements MessageReceivedListener {
log.debug("We found {} links to embed in message {} in channel {} in guild {}.", links.size(), message.getId(), message.getChannel().getId(), message.getGuild().getId());
Long userEmbeddingUserInServerId = userInServerManagementService.loadOrCreateUser(message.getMember()).getUserInServerId();
for (MessageEmbedLink messageEmbedLink : links) {
// potentially support foreign linked servers
if(!messageEmbedLink.getServerId().equals(message.getGuild().getIdLong())) {
log.info("Link for message {} was from a foreign server {}. Do not embed.", messageEmbedLink.getMessageId(), messageEmbedLink.getServerId());
continue;

View File

@@ -316,6 +316,9 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
.builder()
.buttonId(deletionButtonEnabled ? componentServiceBean.generateComponentId() : null)
.build();
Long referencedMessageId = message.getReferencedMessage() != null ? message.getReferencedMessage().getIdLong() : null;
Boolean shouldMentionReferencedAuthor = shouldMentionReferencedAuthor(message);
return MessageEmbeddedModel
.builder()
.member(message.getMember())
@@ -326,7 +329,16 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
.guild(message.getGuild())
.useButton(deletionButtonEnabled)
.embeddedMessage(embeddedMessage)
.referencedMessageId(referencedMessageId)
.mentionsReferencedMessage(shouldMentionReferencedAuthor)
.buttonConfigModel(buttonConfigModel)
.build();
}
private Boolean shouldMentionReferencedAuthor(Message message) {
if(message.getReferencedMessage() != null) {
return message.getMentionedUsers().contains(message.getReferencedMessage().getAuthor());
}
return false;
}
}