add pizza bot

This commit is contained in:
2024-03-29 02:28:24 +01:00
committed by jbb01
parent 8bc0f8cce0
commit 6d0335b8d9
31 changed files with 2661 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
plugins {
id("java-library")
id("java-test-fixtures")
id("chat-bot.java-conventions")
}

View File

@@ -2,7 +2,7 @@ import eu.jonahbauer.chat.bot.api.ChatBot;
module eu.jonahbauer.chat.bot.api {
exports eu.jonahbauer.chat.bot.api;
exports eu.jonahbauer.chat.bot.impl to eu.jonahbauer.chat.server;
exports eu.jonahbauer.chat.bot.impl to eu.jonahbauer.chat.server, eu.jonahbauer.chat.bot.api.fixtures;
requires transitive eu.jonahbauer.chat.bot.config;
requires static transitive org.jetbrains.annotations;

View File

@@ -0,0 +1,21 @@
package eu.jonahbauer.chat.bot.test;
import eu.jonahbauer.chat.bot.api.ChatBot;
import eu.jonahbauer.chat.bot.config.BotConfig;
import eu.jonahbauer.chat.bot.impl.ChatBotFactory;
import org.jetbrains.annotations.NotNull;
import java.util.function.Supplier;
public final class ChatBotFactoryAccess {
private ChatBotFactoryAccess() {}
public static <T extends ChatBot> T create(@NotNull BotConfig config, @NotNull Supplier<T> supplier) {
return ScopedValue.where(ChatBotFactory.BOT_CONFIG, config).get(supplier);
}
public static <T extends ChatBot> T create(@NotNull Supplier<T> supplier) {
return create(BotConfig.EMPTY, supplier);
}
}

View File

@@ -0,0 +1,27 @@
package eu.jonahbauer.chat.bot.test;
import eu.jonahbauer.chat.bot.api.Chat;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
public class MockChat implements Chat {
private final @NotNull List<@NotNull Message> messages = new ArrayList<>();
@Override
public boolean send(@NotNull String channel, @NotNull String name, @NotNull String message, boolean bottag, boolean publicId) {
messages.add(new Message(channel, name, message, bottag, publicId));
return true;
}
public @NotNull List<@NotNull Message> getMessages() {
return messages;
}
public record Message(@NotNull String channel, @NotNull String name, @NotNull String message, boolean bottag, boolean publicId) {
public Message(@NotNull String channel, @NotNull String name, @NotNull String message) {
this(channel, name, message, true, true);
}
}
}

View File

@@ -0,0 +1,7 @@
module eu.jonahbauer.chat.bot.api.fixtures {
exports eu.jonahbauer.chat.bot.test;
requires eu.jonahbauer.chat.bot.api;
requires eu.jonahbauer.chat.bot.config;
requires static transitive org.jetbrains.annotations;
}