@@ -811,6 +811,8 @@ async def process_dm_modmail(self, message: discord.Message) -> None:
811811 await self .add_reaction (message , blocked_emoji )
812812 else :
813813 await self .add_reaction (message , sent_emoji )
814+ self .bot .dispatch ("thread_reply" , thread , False , message , False , False )
815+
814816
815817 async def get_contexts (self , message , * , cls = commands .Context ):
816818 """
@@ -1131,6 +1133,25 @@ async def on_raw_reaction_add(self, payload):
11311133 if self .config ["transfer_reactions" ]:
11321134 await self .handle_reaction_events (payload )
11331135
1136+ react_message_id = tryint (self .bot .config .get ("react_to_contact_message" ))
1137+ react_message_emoji = self .bot .config .get ("react_to_contact_emoji" )
1138+ if all ((react_message_id , react_message_emoji )):
1139+ if payload .message_id == react_message_id :
1140+ if payload .emoji .is_unicode_emoji ():
1141+ emoji_fmt = payload .emoji .name
1142+ else :
1143+ emoji_fmt = f"<:{ payload .emoji .name } :{ payload .emoji .id } >"
1144+
1145+ if emoji_fmt == react_message_emoji :
1146+ channel = self .bot .get_channel (payload .channel_id )
1147+ member = channel .guild .get_member (payload .user_id )
1148+ message = await channel .fetch_message (payload .message_id )
1149+ await message .remove_reaction (payload .emoji , member )
1150+
1151+ ctx = await self .bot .get_context (message )
1152+ ctx .author = member
1153+ await ctx .invoke (self .contact , user = member , manual_trigger = False )
1154+
11341155 async def on_raw_reaction_remove (self , payload ):
11351156 if self .config ["transfer_reactions" ]:
11361157 await self .handle_reaction_events (payload )
0 commit comments