Skip to content

Commit d33ebf0

Browse files
Techbot121Meta Construct
authored andcommitted
get rid of the user check and just store the message id
use a set instead of an array
1 parent 4cd5034 commit d33ebf0

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

app/services/discord/modules/shitposting.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,9 @@ const COMMON_EMOJIS = [
158158
"🙏",
159159
];
160160

161+
const lastMsgs: Discord.Message<boolean>[] = [];
162+
const lastReactedMessages = new Set<string>();
163+
161164
export default async (bot: DiscordBot) => {
162165
const data = await bot.container.getService("Data");
163166
const db = await (await bot.container.getService("SQL")).getLocalDatabase();
@@ -167,9 +170,6 @@ export default async (bot: DiscordBot) => {
167170
let lastSetActivity: Discord.ActivitiesOptions | undefined;
168171
let lastMsgTime = (data.lastMsgTime = data.lastMsgTime ?? now);
169172
let lastChatTime = now;
170-
let lastReactionUserId: string | undefined;
171-
const lastMsgs: Discord.Message<boolean>[] = [];
172-
const lastRespondedReactionMsgs: string[] = [];
173173
let posting = false;
174174
let replied = false;
175175

@@ -308,7 +308,7 @@ export default async (bot: DiscordBot) => {
308308
}, SAVE_INTERVAL); // save data
309309

310310
setInterval(async () => {
311-
lastRespondedReactionMsgs.splice(0, lastRespondedReactionMsgs.length - 1);
311+
lastReactedMessages.clear();
312312
}, MSG_REPLY_REACTION_CLEAR_INTERVAL);
313313

314314
setInterval(async () => {
@@ -369,21 +369,19 @@ export default async (bot: DiscordBot) => {
369369
}
370370

371371
if (
372-
user.id !== lastReactionUserId &&
373-
!lastRespondedReactionMsgs.includes(message.id) &&
372+
!lastReactedMessages.has(message.id) &&
374373
Math.random() <= (reaction.emoji.name === "h_" ? 0.025 : MSG_REPLY_REACTION_FREQ)
375374
) {
376375
const mk = await (
377376
await bot.container.getService("Markov")
378377
).generate(reaction.emoji.toString(), DefaultMarkovConfig);
379378
if (mk) {
380-
lastRespondedReactionMsgs.push(message.id);
379+
lastReactedMessages.add(message.id);
381380
await (message.channel as Discord.TextChannel)
382381
.send(`${user.mention} ` + mk)
383382
.catch();
384383
}
385384
}
386-
lastReactionUserId = user.id;
387385
});
388386

389387
bot.discord.on("messageCreate", async msg => {

0 commit comments

Comments
 (0)