@@ -1176,6 +1176,7 @@ async def create(
11761176 message : discord .Message = None ,
11771177 creator : typing .Union [discord .Member , discord .User ] = None ,
11781178 category : discord .CategoryChannel = None ,
1179+ manual_trigger : bool = True ,
11791180 ) -> Thread :
11801181 """Creates a Modmail thread"""
11811182
@@ -1216,8 +1217,12 @@ async def create(
12161217 self .bot .config .set ("fallback_category_id" , category .id )
12171218 await self .bot .config .update ()
12181219
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 (
12211226 embed = discord .Embed (
12221227 title = self .bot .config ["confirm_thread_creation_title" ],
12231228 description = self .bot .config ["confirm_thread_response" ],
@@ -1232,7 +1237,7 @@ async def create(
12321237 try :
12331238 r , _ = await self .bot .wait_for (
12341239 "reaction_add" ,
1235- check = lambda r , u : u .id == message . author .id
1240+ check = lambda r , u : u .id == recipient .id
12361241 and r .message .id == confirm .id
12371242 and r .message .channel .id == confirm .channel .id
12381243 and str (r .emoji ) in (accept_emoji , deny_emoji ),
@@ -1244,7 +1249,7 @@ async def create(
12441249 await confirm .remove_reaction (accept_emoji , self .bot .user )
12451250 await asyncio .sleep (0.2 )
12461251 await confirm .remove_reaction (deny_emoji , self .bot .user )
1247- await message . channel .send (
1252+ await destination .send (
12481253 embed = discord .Embed (
12491254 title = "Cancelled" , description = "Timed out" , color = self .bot .error_color
12501255 )
@@ -1258,7 +1263,7 @@ async def create(
12581263 await confirm .remove_reaction (accept_emoji , self .bot .user )
12591264 await asyncio .sleep (0.2 )
12601265 await confirm .remove_reaction (deny_emoji , self .bot .user )
1261- await message . channel .send (
1266+ await destination .send (
12621267 embed = discord .Embed (title = "Cancelled" , color = self .bot .error_color )
12631268 )
12641269 del self .cache [recipient .id ]
0 commit comments