@@ -92,7 +92,7 @@ async fn on_message(ctx: &serenity::Context, message: &serenity::Message) -> Res
92
92
return Ok ( ( ) ) ;
93
93
}
94
94
95
- process_message ( ctx, & message, & server_config) . await
95
+ process_message ( ctx, & message, & server_config, message . guild_id . is_some ( ) ) . await
96
96
}
97
97
98
98
async fn on_reaction_add (
@@ -143,7 +143,7 @@ async fn on_reaction_add(
143
143
match server_config. sanitizer_mode {
144
144
SanitizerMode :: ManualEmote | SanitizerMode :: ManualBoth => {
145
145
debug ! ( "Emote mode enabled, processing message" ) ;
146
- process_message ( ctx, & message, & server_config) . await
146
+ process_message ( ctx, & message, & server_config, reaction . guild_id . is_some ( ) ) . await
147
147
}
148
148
_ => {
149
149
debug ! ( "Manual emote not enabled, exiting" ) ;
@@ -156,6 +156,7 @@ async fn process_message(
156
156
ctx : & serenity:: Context ,
157
157
message : & serenity:: Message ,
158
158
server_config : & ServerConfig ,
159
+ is_guild_context : bool ,
159
160
) -> Result < ( ) , Error > {
160
161
debug ! ( "process_message called:" ) ;
161
162
debug ! ( "message.id: {}" , message. id) ;
@@ -169,11 +170,11 @@ async fn process_message(
169
170
server_config. hide_original_embed
170
171
) ;
171
172
172
- let input = match server_config. sanitizer_mode {
173
+ let ( input, message_to_suppress ) = match server_config. sanitizer_mode {
173
174
SanitizerMode :: ManualMention | SanitizerMode :: ManualBoth => {
174
175
if message. content . trim ( ) . to_lowercase ( ) . contains ( "http" ) {
175
176
debug ! ( "Using message content as input" ) ;
176
- message. content . trim ( ) // Return message with mention + url
177
+ ( message. content . trim ( ) , message ) // Return message with mention + url
177
178
} else if let Some ( referenced_message) = & message. referenced_message {
178
179
if referenced_message
179
180
. content
@@ -182,7 +183,10 @@ async fn process_message(
182
183
. contains ( "http" )
183
184
{
184
185
debug ! ( "Using referenced message content as input" ) ;
185
- referenced_message. content . trim ( )
186
+ (
187
+ referenced_message. content . trim ( ) ,
188
+ referenced_message. as_ref ( ) ,
189
+ )
186
190
} else {
187
191
debug ! ( "Referenced message does not contain URL, exiting" ) ;
188
192
return Ok ( ( ) ) ; // Referenced message does not contain a url, so exit
@@ -195,7 +199,7 @@ async fn process_message(
195
199
196
200
_ => {
197
201
debug ! ( "Using message content as input (automatic mode)" ) ;
198
- message. content . trim ( )
202
+ ( message. content . trim ( ) , message )
199
203
}
200
204
} ;
201
205
@@ -215,15 +219,17 @@ async fn process_message(
215
219
let bot_message = message. reply ( ctx, response) . await ?;
216
220
debug ! ( "Bot replied with message ID: {}" , bot_message. id) ;
217
221
222
+ let should_supress_embeds = server_config. hide_original_embed && is_guild_context;
223
+
218
224
debug ! (
219
225
"Calling handle_response_event with hide_original_embed: {}" ,
220
226
server_config. hide_original_embed
221
227
) ;
222
228
handle_response_event (
223
229
ctx,
224
- message ,
230
+ message_to_suppress ,
225
231
& bot_message,
226
- server_config . hide_original_embed ,
232
+ should_supress_embeds ,
227
233
)
228
234
. await ?;
229
235
0 commit comments