Skip to content

Commit eca92c8

Browse files
authored
Merge branch 'master' into title-instruction
2 parents e05b529 + 9b38037 commit eca92c8

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

src/modules/helpthread.ts

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ Consider rephrasing the question to maximize your chance of getting a good answe
2929
If you're not sure how, have a look through [StackOverflow's guide on asking a good question](https://stackoverflow.com/help/how-to-ask).
3030
`);
3131

32+
const helperCloseEmbed = (member: GuildMember) =>
33+
new MessageEmbed().setColor(BLOCKQUOTE_GREY).setDescription(`
34+
Because your issue seemed to be resolved, this thread was closed by ${member}.
35+
36+
If your issue is not resolved, **you can post another message here and the thread will automatically re-open**.
37+
38+
*If you have a different question, just ask in <#${generalHelpChannel}>.*
39+
`);
40+
3241
// A zero-width space (necessary to prevent discord from trimming the leading whitespace), followed by a three non-breaking spaces.
3342
const indent = '\u200b\u00a0\u00a0\u00a0';
3443

@@ -92,7 +101,7 @@ export class HelpThreadModule extends Module {
92101
@listener({ event: 'messageCreate' })
93102
async onNewQuestion(msg: Message) {
94103
if (!isHelpChannel(msg.channel)) return;
95-
if (msg.author.id === this.client.user!.id) return;
104+
if (msg.author.bot) return;
96105
console.log(
97106
'Received new question from',
98107
msg.author,
@@ -142,8 +151,12 @@ export class HelpThreadModule extends Module {
142151
this.manuallyArchivedThreads.delete(thread.id)
143152
)
144153
return;
154+
const threadData = (await HelpThread.findOne(thread.id))!;
145155
console.log(`Help thread expired:`, thread);
146-
await thread.send({ embeds: [threadExpireEmbed] });
156+
await thread.send({
157+
content: `<@${threadData.ownerId}>`,
158+
embeds: [threadExpireEmbed],
159+
});
147160
this.manuallyArchivedThreads.add(thread.id);
148161
await this.archiveThread(thread);
149162
}
@@ -162,12 +175,20 @@ export class HelpThreadModule extends Module {
162175
let thread: ThreadChannel = msg.channel;
163176
const threadData = (await HelpThread.findOne(thread.id))!;
164177

178+
const isOwner = threadData.ownerId === msg.author.id;
179+
165180
if (
166-
threadData.ownerId === msg.author.id ||
181+
isOwner ||
182+
msg.member?.roles.cache.has(trustedRoleId) ||
167183
msg.member?.permissions.has('MANAGE_MESSAGES')
168184
) {
169185
console.log(`Closing help thread:`, thread);
170186
await msg.react('✅');
187+
if (!isOwner)
188+
await msg.channel.send({
189+
content: `<@${threadData.ownerId}>`,
190+
embeds: [helperCloseEmbed(msg.member!)],
191+
});
171192
this.manuallyArchivedThreads.add(thread.id);
172193
await this.archiveThread(thread);
173194
} else {

0 commit comments

Comments
 (0)