Skip to content

Commit

Permalink
Merge branch 'main' into feature/more-dad
Browse files Browse the repository at this point in the history
  • Loading branch information
Nincodedo committed Dec 11, 2024
2 parents f0fea64 + 11a5132 commit 02accc5
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 47 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![Ninbot Logo](docs/images/ninbot-github-social.png)

# Ninbot [![Build](https://github.com/Nincodedo/Ninbot/actions/workflows/build-main.yml/badge.svg)](https://github.com/Nincodedo/Ninbot/actions/workflows/build-main.yml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dev.nincodedo%3Aninbot&metric=alert_status)](https://sonarcloud.io/dashboard?id=dev.nincodedo%3Aninbot) [![Uptime](https://status.nincodedo.dev/api/badge/1/uptime/720?label=Uptime&labelSuffix=&color=blue)](https://status.nincodedo.dev)
# Ninbot [![Build](https://github.com/Nincodedo/Ninbot/actions/workflows/build-main.yml/badge.svg)](https://github.com/Nincodedo/Ninbot/actions/workflows/build-main.yml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dev.nincodedo%3Aninbot&metric=alert_status)](https://sonarcloud.io/dashboard?id=dev.nincodedo%3Aninbot) [![Uptime](https://status.nincodedo.dev/api/badge/1/uptime/30d?label=Uptime&labelSuffix=&color=blue)](https://status.nincodedo.dev)

Ninbot is a Discord bot with various silly commands and actions, such as dabbing. Ninbot is built for OCW Discord
using [JDA.](https://github.com/discord-jda/JDA)
Expand Down
4 changes: 0 additions & 4 deletions ninbot-app/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
<artifactId>ninbot-app</artifactId>
<name>Ninbot Application</name>
<dependencies>
<dependency>
<groupId>club.minnced</groupId>
<artifactId>discord-webhooks</artifactId>
</dependency>
<dependency>
<groupId>com.bernardomg.tabletop</groupId>
<artifactId>dice</artifactId>
Expand Down
18 changes: 6 additions & 12 deletions ninbot-shared-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.4</version>
<version>3.3.5</version>
<relativePath/>
</parent>
<groupId>dev.nincodedo</groupId>
Expand All @@ -14,15 +14,14 @@
<packaging>pom</packaging>
<name>Ninbot Shared Parent Pom</name>
<properties>
<JDA.version>5.1.1</JDA.version>
<JDA.version>5.1.2</JDA.version>
<annotations.version>26.0.1</annotations.version>
<archunit.version>1.3.0</archunit.version>
<assertj-core.version>3.26.3</assertj-core.version>
<commons-io.version>2.17.0</commons-io.version>
<commons-lang.version>2.6</commons-lang.version>
<commons-text.version>1.12.0</commons-text.version>
<dice.version>2.2.5</dice.version>
<discord-webhooks.version>0.8.4</discord-webhooks.version>
<imgscalr-lib.version>4.2</imgscalr-lib.version>
<instancio-junit.version>5.0.2</instancio-junit.version>
<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
Expand All @@ -32,12 +31,12 @@
<lombok-mapstruct.version>0.2.0</lombok-mapstruct.version>
<lombok.version>1.18.34</lombok.version>
<mapstruct.version>1.6.2</mapstruct.version>
<maven-failsafe-plugin.version>3.5.0</maven-failsafe-plugin.version>
<maven-failsafe-plugin.version>3.5.1</maven-failsafe-plugin.version>
<maven-release-plugin.version>3.1.1</maven-release-plugin.version>
<maven-surefire-plugin.version>3.5.1</maven-surefire-plugin.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<opentelemetry-instrumentation-annotations.version>2.8.0</opentelemetry-instrumentation-annotations.version>
<opentelemetry-instrumentation-annotations.version>2.9.0</opentelemetry-instrumentation-annotations.version>
<pitest-junit5-plugin.version>1.2.1</pitest-junit5-plugin.version>
<pitest-maven.version>1.16.1</pitest-maven.version>
<sap-conversational-ai-java-api.version>0.0.4</sap-conversational-ai-java-api.version>
Expand All @@ -48,17 +47,12 @@
<sortpom-maven-plugin.version>4.0.0</sortpom-maven-plugin.version>
<springdoc-openapi-ui.version>1.8.0</springdoc-openapi-ui.version>
<syllable-counter.version>4.1.0</syllable-counter.version>
<testcontainers.version>1.20.2</testcontainers.version>
<twitch4j.version>1.22.0</twitch4j.version>
<testcontainers.version>1.20.3</testcontainers.version>
<twitch4j.version>1.23.0</twitch4j.version>
<versions-maven-plugin.version>2.17.1</versions-maven-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>club.minnced</groupId>
<artifactId>discord-webhooks</artifactId>
<version>${discord-webhooks.version}</version>
</dependency>
<dependency>
<groupId>com.bernardomg.tabletop</groupId>
<artifactId>dice</artifactId>
Expand Down
4 changes: 0 additions & 4 deletions nincord-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
<artifactId>nincord-common</artifactId>
<name>Nincord Common Library</name>
<dependencies>
<dependency>
<groupId>club.minnced</groupId>
<artifactId>discord-webhooks</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package dev.nincodedo.nincord.message;

import dev.nincodedo.nincord.logging.FormatLogObject;
import dev.nincodedo.nincord.message.impersonation.Impersonation;
import dev.nincodedo.nincord.message.impersonation.Impersonator;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -10,8 +9,6 @@
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.utils.messages.MessageCreateData;

import java.util.concurrent.ExecutionException;

@Slf4j
public class MessageReceivedEventMessageExecutor extends MessageExecutor {

Expand Down Expand Up @@ -39,11 +36,7 @@ private void sendMessage(MessageCreateData message) {
} else {
Impersonator impersonator = new Impersonator(impersonation, getGuild(),
messageReceivedEvent.getChannel());
try {
impersonator.sendMessage(message).get();
} catch (InterruptedException | ExecutionException e) {
log.error("Failed to send webhook message in server {}", FormatLogObject.guildName(getGuild()), e);
}
impersonator.sendMessage(message);
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package dev.nincodedo.nincord.message.impersonation;

import club.minnced.discord.webhook.receive.ReadonlyMessage;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.utils.messages.MessageCreateData;

import java.util.concurrent.CompletableFuture;

public class Impersonator {

private Impersonation impersonation;
Expand All @@ -22,11 +19,10 @@ public Impersonator(Impersonation impersonation, Guild guild, MessageChannel mes
this.webhookHelper = new WebhookHelper();
}

public CompletableFuture<ReadonlyMessage> sendMessage(MessageCreateData message) {
public void sendMessage(MessageCreateData message) {
setupWebhook();
var future = webhookHelper.sendMessage(message);
webhookHelper.sendMessage(message);
tearDown();
return future;
}

private void tearDown() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
package dev.nincodedo.nincord.message.impersonation;

import club.minnced.discord.webhook.WebhookClient;
import club.minnced.discord.webhook.WebhookClientBuilder;
import club.minnced.discord.webhook.receive.ReadonlyMessage;
import club.minnced.discord.webhook.send.WebhookMessageBuilder;
import lombok.extern.slf4j.Slf4j;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
Expand All @@ -13,13 +9,11 @@
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
import net.dv8tion.jda.api.managers.WebhookManager;
import net.dv8tion.jda.api.utils.messages.MessageCreateData;
import org.jetbrains.annotations.NotNull;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;

@Slf4j
class WebhookHelper {
Expand Down Expand Up @@ -58,11 +52,8 @@ public WebhookManager setWebhookIcon(String iconUrl) {
return webhook.getManager();
}

public @NotNull CompletableFuture<ReadonlyMessage> sendMessage(MessageCreateData message) {
WebhookMessageBuilder messageBuilder = new WebhookMessageBuilder();
messageBuilder.append(message.getContent());
try (WebhookClient client = new WebhookClientBuilder(webhook.getUrl()).build()) {
return client.send(messageBuilder.build());
}
public void sendMessage(MessageCreateData message) {
var client = net.dv8tion.jda.api.entities.WebhookClient.createClient(webhook.getJDA(), webhook.getUrl());
client.sendMessage(message).queue();
}
}

0 comments on commit 02accc5

Please sign in to comment.