@@ -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
@@ -141,8 +150,12 @@ export class HelpThreadModule extends Module {
141
150
this . manuallyArchivedThreads . delete ( thread . id )
142
151
)
143
152
return ;
153
+ const threadData = ( await HelpThread . findOne ( thread . id ) ) ! ;
144
154
console . log ( `Help thread expired:` , thread ) ;
145
- await thread . send ( { embeds : [ threadExpireEmbed ] } ) ;
155
+ await thread . send ( {
156
+ content : `<@${ threadData . ownerId } >` ,
157
+ embeds : [ threadExpireEmbed ] ,
158
+ } ) ;
146
159
this . manuallyArchivedThreads . add ( thread . id ) ;
147
160
await this . archiveThread ( thread ) ;
148
161
}
@@ -161,12 +174,20 @@ export class HelpThreadModule extends Module {
161
174
let thread : ThreadChannel = msg . channel ;
162
175
const threadData = ( await HelpThread . findOne ( thread . id ) ) ! ;
163
176
177
+ const isOwner = threadData . ownerId === msg . author . id ;
178
+
164
179
if (
165
- threadData . ownerId === msg . author . id ||
180
+ isOwner ||
181
+ msg . member ?. roles . cache . has ( trustedRoleId ) ||
166
182
msg . member ?. permissions . has ( 'MANAGE_MESSAGES' )
167
183
) {
168
184
console . log ( `Closing help thread:` , thread ) ;
169
185
await msg . react ( '✅' ) ;
186
+ if ( ! isOwner )
187
+ await msg . channel . send ( {
188
+ content : `<@${ threadData . ownerId } >` ,
189
+ embeds : [ helperCloseEmbed ( msg . member ! ) ] ,
190
+ } ) ;
170
191
this . manuallyArchivedThreads . add ( thread . id ) ;
171
192
await this . archiveThread ( thread ) ;
172
193
} else {
0 commit comments