mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-14 11:48:16 +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
|
## 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)
|
* [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.
|
* [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.
|
* [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());
|
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();
|
Long userEmbeddingUserInServerId = userInServerManagementService.loadOrCreateUser(message.getMember()).getUserInServerId();
|
||||||
for (MessageEmbedLink messageEmbedLink : links) {
|
for (MessageEmbedLink messageEmbedLink : links) {
|
||||||
|
// potentially support foreign linked servers
|
||||||
if(!messageEmbedLink.getServerId().equals(message.getGuild().getIdLong())) {
|
if(!messageEmbedLink.getServerId().equals(message.getGuild().getIdLong())) {
|
||||||
log.info("Link for message {} was from a foreign server {}. Do not embed.", messageEmbedLink.getMessageId(), messageEmbedLink.getServerId());
|
log.info("Link for message {} was from a foreign server {}. Do not embed.", messageEmbedLink.getMessageId(), messageEmbedLink.getServerId());
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -316,6 +316,9 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
|||||||
.builder()
|
.builder()
|
||||||
.buttonId(deletionButtonEnabled ? componentServiceBean.generateComponentId() : null)
|
.buttonId(deletionButtonEnabled ? componentServiceBean.generateComponentId() : null)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
Long referencedMessageId = message.getReferencedMessage() != null ? message.getReferencedMessage().getIdLong() : null;
|
||||||
|
Boolean shouldMentionReferencedAuthor = shouldMentionReferencedAuthor(message);
|
||||||
return MessageEmbeddedModel
|
return MessageEmbeddedModel
|
||||||
.builder()
|
.builder()
|
||||||
.member(message.getMember())
|
.member(message.getMember())
|
||||||
@@ -326,7 +329,16 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
|||||||
.guild(message.getGuild())
|
.guild(message.getGuild())
|
||||||
.useButton(deletionButtonEnabled)
|
.useButton(deletionButtonEnabled)
|
||||||
.embeddedMessage(embeddedMessage)
|
.embeddedMessage(embeddedMessage)
|
||||||
|
.referencedMessageId(referencedMessageId)
|
||||||
|
.mentionsReferencedMessage(shouldMentionReferencedAuthor)
|
||||||
.buttonConfigModel(buttonConfigModel)
|
.buttonConfigModel(buttonConfigModel)
|
||||||
.build();
|
.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 TextChannel sourceChannel;
|
||||||
private Member embeddingUser;
|
private Member embeddingUser;
|
||||||
private ButtonConfigModel buttonConfigModel;
|
private ButtonConfigModel buttonConfigModel;
|
||||||
|
private Long referencedMessageId;
|
||||||
|
private Boolean mentionsReferencedMessage;
|
||||||
private Boolean useButton;
|
private Boolean useButton;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.build.timestamp.format>yyyy/MM/dd HH:mm</maven.build.timestamp.format>
|
<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>
|
<jda.utilities.version>3.0.4</jda.utilities.version>
|
||||||
<asciidoctor.maven.plugin.version>2.0.0-RC.1</asciidoctor.maven.plugin.version>
|
<asciidoctor.maven.plugin.version>2.0.0-RC.1</asciidoctor.maven.plugin.version>
|
||||||
<asciidoctorj.pdf.version>1.5.3</asciidoctorj.pdf.version>
|
<asciidoctorj.pdf.version>1.5.3</asciidoctorj.pdf.version>
|
||||||
|
|||||||
Reference in New Issue
Block a user