Skip to content

Commit 0613395

Browse files
committed
[feature/blacklistable-auto-ai-response] Made so it is possible to blacklist the auto ai response + made it default in config template
1 parent fd35376 commit 0613395

3 files changed

Lines changed: 15 additions & 6 deletions

File tree

application/config.json.template

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@
179179
"normal": [
180180
],
181181
"special": [
182+
"AutoAIResponse"
182183
]
183184
},
184185
"selectRolesChannelPattern": "select-your-roles",

application/src/main/java/org/togetherjava/tjbot/features/Features.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public static Collection<Feature> createFeatures(JDA jda, Database database, Con
130130
HelpThreadLifecycleListener helpThreadLifecycleListener =
131131
new HelpThreadLifecycleListener(helpSystemHelper, database);
132132
HelpThreadCreatedListener helpThreadCreatedListener =
133-
new HelpThreadCreatedListener(helpSystemHelper, metrics);
133+
new HelpThreadCreatedListener(blacklistConfig.special(), helpSystemHelper, metrics);
134134
TopHelpersService topHelpersService = new TopHelpersService(database);
135135
TopHelpersAssignmentRoutine topHelpersAssignmentRoutine =
136136
new TopHelpersAssignmentRoutine(config, topHelpersService, metrics);

application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCreatedListener.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.slf4j.Logger;
2020
import org.slf4j.LoggerFactory;
2121

22+
import org.togetherjava.tjbot.config.FeatureBlacklist;
2223
import org.togetherjava.tjbot.features.EventReceiver;
2324
import org.togetherjava.tjbot.features.UserInteractionType;
2425
import org.togetherjava.tjbot.features.UserInteractor;
@@ -47,6 +48,7 @@
4748
public final class HelpThreadCreatedListener extends ListenerAdapter
4849
implements EventReceiver, UserInteractor {
4950
private static final Logger log = LoggerFactory.getLogger(HelpThreadCreatedListener.class);
51+
private final FeatureBlacklist<String> specialBlacklist;
5052
private final HelpSystemHelper helper;
5153
private final Metrics metrics;
5254

@@ -60,10 +62,13 @@ public final class HelpThreadCreatedListener extends ListenerAdapter
6062
/**
6163
* Creates a new instance.
6264
*
65+
* @param specialBlacklist the special blacklist
6366
* @param helper to work with the help threads
6467
* @param metrics to track events
6568
*/
66-
public HelpThreadCreatedListener(HelpSystemHelper helper, Metrics metrics) {
69+
public HelpThreadCreatedListener(FeatureBlacklist<String> specialBlacklist,
70+
HelpSystemHelper helper, Metrics metrics) {
71+
this.specialBlacklist = specialBlacklist;
6772
this.helper = helper;
6873
this.metrics = metrics;
6974
}
@@ -96,10 +101,13 @@ private void handleHelpThreadCreated(ThreadChannel threadChannel) {
96101
metrics.count("help-question_posted");
97102
threadChannel.retrieveStartMessage().flatMap(message -> {
98103
registerThreadDataInDB(message, threadChannel);
99-
return sendHelperHeadsUp(threadChannel)
100-
.flatMap(_ -> HelpThreadCreatedListener.isContextSufficient(message),
101-
_ -> createAIResponse(threadChannel, message))
102-
.flatMap(_ -> pinOriginalQuestion(message));
104+
RestAction<Message> messageRestAction = sendHelperHeadsUp(threadChannel);
105+
if (specialBlacklist.isEnabled("AutoAIResponse")) {
106+
messageRestAction = messageRestAction.flatMap(
107+
_ -> HelpThreadCreatedListener.isContextSufficient(message),
108+
_ -> createAIResponse(threadChannel, message));
109+
}
110+
return messageRestAction.flatMap(_ -> pinOriginalQuestion(message));
103111
}).queue();
104112
}
105113

0 commit comments

Comments
 (0)