Skip to content
This repository was archived by the owner on Aug 21, 2025. It is now read-only.

Commit b6036d5

Browse files
committed
fixed spamm auto message
1 parent a17f1a0 commit b6036d5

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

FunixBot-Twitch/src/main/java/fr/funixgaming/funixbot/twitch/events/FunixBotEvents.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,13 @@ public void onUserChat(UserChatEvent event) {
3131

3232
try {
3333
commandHandler.onNewChat(chatMember, message, FunixBot.getInstance(), chatMember.getChannelName());
34-
autoMessages.userMessage();
3534
chatExperience.userChatExp(chatMember);
3635
CommandGiveaway.getInstance().onUserChat(chatMessage);
3736

37+
if (!message.startsWith("!")) {
38+
autoMessages.userMessage();
39+
}
40+
3841
log.info("[" + chatMember.getDisplayName() + "] " + message);
3942
} catch (FunixBotException e) {
4043
log.error("Erreur chat event: {}", e.getMessage());

FunixBot-Twitch/src/main/java/fr/funixgaming/funixbot/twitch/modules/AutoMessages.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@
88
import fr.funixgaming.funixbot.twitch.FunixBot;
99
import org.springframework.stereotype.Component;
1010

11+
import java.time.Instant;
12+
import java.time.temporal.ChronoUnit;
13+
1114
@Component
1215
public class AutoMessages {
1316
private static final int LIMIT_MESSAGES = 20;
1417

1518
private final String[] messages;
1619
private int count = 0;
1720
private int selected = 0;
21+
private Instant lastMessageTime = Instant.now();
1822

1923
public AutoMessages() throws FunixBotException {
2024
final String data = DataFiles.readFileFromClasspath("/json/autoMessages.json");
@@ -30,11 +34,14 @@ public AutoMessages() throws FunixBotException {
3034

3135
public void userMessage() throws FunixBotException {
3236
final FunixBot funixBot = FunixBot.getInstance();
37+
final Instant now = Instant.now();
3338

3439
++this.count;
3540

36-
if (this.count > LIMIT_MESSAGES) {
41+
if (this.count > LIMIT_MESSAGES && lastMessageTime.plus(10, ChronoUnit.MINUTES).isBefore(now)) {
42+
this.lastMessageTime = now;
3743
this.count = 0;
44+
3845
funixBot.sendChatMessage(funixBot.getBotConfig().getStreamerUsername(), messages[selected]);
3946

4047
++this.selected;

FunixBot-Twitch/src/main/java/fr/funixgaming/funixbot/twitch/modules/ChatExperience.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,7 @@ public void saveExp() {
106106
this.funixBotUserExperienceClient.update(toSave);
107107
}
108108

109-
/**
110-
* Every day at 10am flush memory
111-
*/
112-
@Scheduled(cron = "0 10 * * * *")
109+
@Scheduled(fixedRate = 12, timeUnit = TimeUnit.HOURS)
113110
public void saveAndFlushMemory() {
114111
saveExp();
115112
log.info("ChatExp Memory Flush {} entités supprimées.", this.userExperienceCache.size());

0 commit comments

Comments
 (0)