@@ -29,6 +29,15 @@ Consider rephrasing the question to maximize your chance of getting a good answe
29
29
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).
30
30
` ) ;
31
31
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
+
32
41
// A zero-width space (necessary to prevent discord from trimming the leading whitespace), followed by a three non-breaking spaces.
33
42
const indent = '\u200b\u00a0\u00a0\u00a0' ;
34
43
@@ -80,7 +89,8 @@ If not, and if you have followed the bullets above, you can ping helpers by runn
80
89
] ;
81
90
82
91
const helpThreadWelcomeMessage = ( owner : GuildMember ) => `
83
- ${ owner } This thread is for your question; when it's resolved, please type \`!close\`. \
92
+ ${ owner } This thread is for your question; type \`!title <brief description>\`. \
93
+ When it's resolved, please type \`!close\`. \
84
94
See <#${ howToGetHelpChannel } > for info on how to get better help.
85
95
` ;
86
96
@@ -141,8 +151,12 @@ export class HelpThreadModule extends Module {
141
151
this . manuallyArchivedThreads . delete ( thread . id )
142
152
)
143
153
return ;
154
+ const threadData = ( await HelpThread . findOne ( thread . id ) ) ! ;
144
155
console . log ( `Help thread expired:` , thread ) ;
145
- await thread . send ( { embeds : [ threadExpireEmbed ] } ) ;
156
+ await thread . send ( {
157
+ content : `<@${ threadData . ownerId } >` ,
158
+ embeds : [ threadExpireEmbed ] ,
159
+ } ) ;
146
160
this . manuallyArchivedThreads . add ( thread . id ) ;
147
161
await this . archiveThread ( thread ) ;
148
162
}
@@ -161,12 +175,20 @@ export class HelpThreadModule extends Module {
161
175
let thread : ThreadChannel = msg . channel ;
162
176
const threadData = ( await HelpThread . findOne ( thread . id ) ) ! ;
163
177
178
+ const isOwner = threadData . ownerId === msg . author . id ;
179
+
164
180
if (
165
- threadData . ownerId === msg . author . id ||
181
+ isOwner ||
182
+ msg . member ?. roles . cache . has ( trustedRoleId ) ||
166
183
msg . member ?. permissions . has ( 'MANAGE_MESSAGES' )
167
184
) {
168
185
console . log ( `Closing help thread:` , thread ) ;
169
186
await msg . react ( '✅' ) ;
187
+ if ( ! isOwner )
188
+ await msg . channel . send ( {
189
+ content : `<@${ threadData . ownerId } >` ,
190
+ embeds : [ helperCloseEmbed ( msg . member ! ) ] ,
191
+ } ) ;
170
192
this . manuallyArchivedThreads . add ( thread . id ) ;
171
193
await this . archiveThread ( thread ) ;
172
194
} else {
0 commit comments