@@ -1176,6 +1176,7 @@ async def create(
1176
1176
message : discord .Message = None ,
1177
1177
creator : typing .Union [discord .Member , discord .User ] = None ,
1178
1178
category : discord .CategoryChannel = None ,
1179
+ manual_trigger : bool = True ,
1179
1180
) -> Thread :
1180
1181
"""Creates a Modmail thread"""
1181
1182
@@ -1216,8 +1217,12 @@ async def create(
1216
1217
self .bot .config .set ("fallback_category_id" , category .id )
1217
1218
await self .bot .config .update ()
1218
1219
1219
- if message and self .bot .config ["confirm_thread_creation" ]:
1220
- confirm = await message .channel .send (
1220
+ if (message or not manual_trigger ) and self .bot .config ["confirm_thread_creation" ]:
1221
+ if not manual_trigger :
1222
+ destination = recipient
1223
+ else :
1224
+ destination = message .channel
1225
+ confirm = await destination .send (
1221
1226
embed = discord .Embed (
1222
1227
title = self .bot .config ["confirm_thread_creation_title" ],
1223
1228
description = self .bot .config ["confirm_thread_response" ],
@@ -1232,7 +1237,7 @@ async def create(
1232
1237
try :
1233
1238
r , _ = await self .bot .wait_for (
1234
1239
"reaction_add" ,
1235
- check = lambda r , u : u .id == message . author .id
1240
+ check = lambda r , u : u .id == recipient .id
1236
1241
and r .message .id == confirm .id
1237
1242
and r .message .channel .id == confirm .channel .id
1238
1243
and str (r .emoji ) in (accept_emoji , deny_emoji ),
@@ -1244,7 +1249,7 @@ async def create(
1244
1249
await confirm .remove_reaction (accept_emoji , self .bot .user )
1245
1250
await asyncio .sleep (0.2 )
1246
1251
await confirm .remove_reaction (deny_emoji , self .bot .user )
1247
- await message . channel .send (
1252
+ await destination .send (
1248
1253
embed = discord .Embed (
1249
1254
title = "Cancelled" , description = "Timed out" , color = self .bot .error_color
1250
1255
)
@@ -1258,7 +1263,7 @@ async def create(
1258
1263
await confirm .remove_reaction (accept_emoji , self .bot .user )
1259
1264
await asyncio .sleep (0.2 )
1260
1265
await confirm .remove_reaction (deny_emoji , self .bot .user )
1261
- await message . channel .send (
1266
+ await destination .send (
1262
1267
embed = discord .Embed (title = "Cancelled" , color = self .bot .error_color )
1263
1268
)
1264
1269
del self .cache [recipient .id ]
0 commit comments