diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/BotCommandAdapter.java b/application/src/main/java/org/togetherjava/tjbot/commands/BotCommandAdapter.java index c03d0b82ca..f7cf697420 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/BotCommandAdapter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/BotCommandAdapter.java @@ -130,7 +130,8 @@ protected final String generateComponentId(String... args) { */ @SuppressWarnings({"OverloadedVarargsMethod", "WeakerAccess"}) protected final String generateComponentId(Lifespan lifespan, String... args) { - return componentIdGenerator.generate(new ComponentId(getName(), Arrays.asList(args)), - lifespan); + return componentIdGenerator + .generate(new ComponentId(UserInteractorPrefix.getPrefixedNameFromInstance(this), + Arrays.asList(args)), lifespan); } } diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/system/BotCore.java b/application/src/main/java/org/togetherjava/tjbot/commands/system/BotCore.java index 8cc95de6f1..cc481b3ce0 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/system/BotCore.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/system/BotCore.java @@ -104,12 +104,12 @@ public BotCore(JDA jda, Database database, Config config) { componentIdParser = uuid -> componentIdStore.get(UUID.fromString(uuid)); Collection interactors = getInteractors(); - interactors.forEach(slashCommand -> slashCommand - .acceptComponentIdGenerator(((componentId, lifespan) -> { - UUID uuid = UUID.randomUUID(); - componentIdStore.putOrThrow(uuid, componentId, lifespan); - return uuid.toString(); - }))); + interactors.forEach( + interactor -> interactor.acceptComponentIdGenerator(((componentId, lifespan) -> { + UUID uuid = UUID.randomUUID(); + componentIdStore.putOrThrow(uuid, componentId, lifespan); + return uuid.toString(); + }))); if (logger.isInfoEnabled()) { logger.info("Available user interactors: {}", interactors); diff --git a/application/src/test/java/org/togetherjava/tjbot/commands/SlashCommandAdapterTest.java b/application/src/test/java/org/togetherjava/tjbot/commands/SlashCommandAdapterTest.java index bc5b18ed7d..7a0bf4f3da 100644 --- a/application/src/test/java/org/togetherjava/tjbot/commands/SlashCommandAdapterTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/commands/SlashCommandAdapterTest.java @@ -10,6 +10,8 @@ final class SlashCommandAdapterTest { private static final String NAME = "foo"; + private static final String PREFIXED_NAME = + UserInteractorPrefix.SLASH_COMMAND.getPrefix() + NAME; private static final String DESCRIPTION = "Foo command"; private static final CommandVisibility VISIBILITY = CommandVisibility.GUILD; private static final int UNIQUE_ID_ITERATIONS = 20; @@ -71,7 +73,7 @@ void generateComponentId() { String[] elements = {"foo", "bar", "baz"}; String[] componentIdText = adapter.generateComponentId(elements).split(";"); assertEquals(3, componentIdText.length); - assertEquals(NAME, componentIdText[0]); + assertEquals(PREFIXED_NAME, componentIdText[0]); assertEquals(Integer.toString(elements.length), componentIdText[1]); assertEquals(Lifespan.REGULAR.toString(), componentIdText[2]); @@ -79,7 +81,7 @@ void generateComponentId() { for (Lifespan lifespan : Lifespan.values()) { componentIdText = adapter.generateComponentId(lifespan, elements).split(";"); assertEquals(3, componentIdText.length); - assertEquals(NAME, componentIdText[0]); + assertEquals(PREFIXED_NAME, componentIdText[0]); assertEquals(Integer.toString(elements.length), componentIdText[1]); assertEquals(lifespan.toString(), componentIdText[2]); }