Skip to content

Commit 0bfcb07

Browse files
committed
Merge remote-tracking branch 'upstream/master' into feature/143-modmail
2 parents 6d08d07 + 88b87ba commit 0bfcb07

2 files changed

Lines changed: 32 additions & 26 deletions

File tree

src/modules/core/bump.listener.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ export async function handleBumpStreak(
8686
// time since last bump
8787
if (lastBumpNotificationTime.getTime() !== 0) {
8888
const timeSinceLastBump = Date.now() - lastBumpNotificationTime.getTime();
89-
if (timeSinceLastBump < 300000) { // this might seem generous, but in reality when you factor in the discord delay, even if you react instantaneously on your screen you can still be too slow
89+
if (timeSinceLastBump < 30000) {
90+
// this might seem generous, but in reality when you factor in the discord delay, even if you react instantaneously on your screen you can still be too slow
9091
message.channel.send(
9192
`⚡⚡⚡ ${fakeMention(interactionOld.user)} bumped in just **${timeSinceLastBump / 1000}s**!`,
9293
);

src/modules/starboard/starboard.listener.ts

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,20 @@ export const StarboardListener: EventListener = {
152152
);
153153
},
154154
async messageReactionAdd(_, reaction) {
155+
let message = reaction.message;
156+
if (message.partial) message = await reaction.message.fetch();
155157
if (
156-
!reaction.message.inGuild() ||
157-
reaction.message.author.bot ||
158-
reaction.message.author.system ||
159-
reaction.message.channel.id === config.starboard.channel ||
158+
!message.inGuild() ||
159+
message.author.bot ||
160+
message.author.system ||
161+
message.channel.id === config.starboard.channel ||
160162
reaction.emoji.name !== config.starboard.emojiId
161163
)
162164
return;
163165
await reaction.fetch();
164166
const count = reaction.count || 1;
165167
if (count >= config.starboard.threshold) {
166-
const starboardChannel = await reaction.message.guild.channels.fetch(
168+
const starboardChannel = await message.guild.channels.fetch(
167169
config.starboard.channel,
168170
);
169171

@@ -174,14 +176,14 @@ export const StarboardListener: EventListener = {
174176
return;
175177
}
176178
const existingStarboardMessage =
177-
await getStarboardMessageForOriginalMessageId(reaction.message.id);
179+
await getStarboardMessageForOriginalMessageId(message.id);
178180
try {
179-
const member = await getMember(reaction.message);
181+
const member = await getMember(message);
180182

181183
if (!member) {
182184
logger.info(
183185
"Member not found for reaction message id %s, skipping",
184-
reaction.message.id,
186+
message.id,
185187
);
186188
return;
187189
}
@@ -190,51 +192,54 @@ export const StarboardListener: EventListener = {
190192
await updateStarboardMessage(
191193
starboardChannel,
192194
existingStarboardMessage,
193-
reaction.message,
195+
message,
194196
member,
195197
count,
196198
);
197199
}
198200

199201
const starboardMessageContent = await createStarboardMessageFromMessage(
200-
reaction.message,
202+
message,
201203
member,
202204
count,
203205
);
204206

205-
const message = await starboardChannel.send({
207+
const starboardMessage = await starboardChannel.send({
206208
...starboardMessageContent,
207209
allowedMentions: {
208210
parse: [],
209211
},
210212
});
211-
212-
await createStarboardMessage(
213-
reaction.message.id,
214-
reaction.message.channelId,
215-
message.id,
216-
);
213+
if (!existingStarboardMessage) {
214+
await createStarboardMessage(
215+
message.id,
216+
message.channelId,
217+
starboardMessage.id,
218+
);
219+
}
217220
} catch (error) {
218221
logger.error("Error sending starboard message", error);
219222
}
220223
}
221224
},
222225
async messageReactionRemove(_, reaction) {
226+
let message = reaction.message;
227+
if (message.partial) message = await reaction.message.fetch();
223228
if (
224-
!reaction.message.inGuild() ||
225-
reaction.message.author.bot ||
226-
reaction.message.author.system ||
227-
reaction.message.channel.id === config.starboard.channel ||
229+
!message.inGuild() ||
230+
message.author.bot ||
231+
message.author.system ||
232+
message.channel.id === config.starboard.channel ||
228233
reaction.emoji.name !== config.starboard.emojiId
229234
)
230235
return;
231236
await reaction.fetch();
232237
const count = reaction.count || 0;
233238
const existingStarboardMessage =
234-
await getStarboardMessageForOriginalMessageId(reaction.message.id);
239+
await getStarboardMessageForOriginalMessageId(message.id);
235240
if (!existingStarboardMessage) return;
236241
try {
237-
const member = await getMember(reaction.message);
242+
const member = await getMember(message);
238243

239244
if (!member) {
240245
logger.info(
@@ -245,7 +250,7 @@ export const StarboardListener: EventListener = {
245250
}
246251

247252
if (existingStarboardMessage) {
248-
const starboardChannel = await reaction.message.guild.channels.fetch(
253+
const starboardChannel = await message.guild.channels.fetch(
249254
config.starboard.channel,
250255
);
251256
if (
@@ -261,7 +266,7 @@ export const StarboardListener: EventListener = {
261266
await updateStarboardMessage(
262267
starboardChannel,
263268
existingStarboardMessage,
264-
reaction.message,
269+
message,
265270
member,
266271
count,
267272
);

0 commit comments

Comments
 (0)