mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-15 10:41:21 +00:00
[AB-318] adding a mention of the original message to link embed
updating JDA version
This commit is contained in:
@@ -14,7 +14,7 @@ An example implementation of this bot can be seen [here](https://github.com/Shel
|
||||
|
||||
|
||||
## Technologies
|
||||
* [JDA](https://github.com/DV8FromTheWorld/JDA/) The Discord API Wrapper in the version 4.3.0_284
|
||||
* [JDA](https://github.com/DV8FromTheWorld/JDA/) The Discord API Wrapper in the version 4.3.0_315
|
||||
* [Spring boot](https://github.com/spring-projects/spring-boot) is used as a framework to create standalone application in Java with Java EE methods. (including Dependency injection and more)
|
||||
* [Hibernate](https://github.com/hibernate/hibernate-orm) is used as a reference implementation of JPA.
|
||||
* [Freemarker](https://github.com/apache/freemarker) is used as a templating engine. This is used to provide internationalization for user facing text and enable dynamic embed configuration.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,5 +19,7 @@ public class MessageEmbeddedModel extends UserInitiatedServerContext {
|
||||
private TextChannel sourceChannel;
|
||||
private Member embeddingUser;
|
||||
private ButtonConfigModel buttonConfigModel;
|
||||
private Long referencedMessageId;
|
||||
private Boolean mentionsReferencedMessage;
|
||||
private Boolean useButton;
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
<properties>
|
||||
<maven.build.timestamp.format>yyyy/MM/dd HH:mm</maven.build.timestamp.format>
|
||||
<jda.version>4.3.0_293</jda.version>
|
||||
<jda.version>4.3.0_315</jda.version>
|
||||
<jda.utilities.version>3.0.4</jda.utilities.version>
|
||||
<asciidoctor.maven.plugin.version>2.0.0-RC.1</asciidoctor.maven.plugin.version>
|
||||
<asciidoctorj.pdf.version>1.5.3</asciidoctorj.pdf.version>
|
||||
|
||||
Reference in New Issue
Block a user