@@ -210,7 +210,7 @@ public void timeout(@Nonnull User user, @Nonnull String reason, @Nonnull Member
210210 * @param quiet If true, don't send a message in the channel.
211211 */
212212 public void removeTimeout (Member member , String reason , Member removedBy , MessageChannel channel , boolean quiet ) {
213- MessageEmbed removeTimeoutEmbed = buildTimeoutRemovedEmbed (member , removedBy , reason );
213+ MessageEmbed removeTimeoutEmbed = buildTimeoutRemovedEmbed (member . getUser () , removedBy , reason );
214214 removedBy .getGuild ().removeTimeout (member ).queue (s -> {
215215 notificationService .withUser (member .getUser (), removedBy .getGuild ()).sendDirectMessage (c -> c .sendMessageEmbeds (removeTimeoutEmbed ));
216216 notificationService .withGuild (member .getGuild ()).sendToModerationLog (c -> c .sendMessageEmbeds (removeTimeoutEmbed ));
@@ -291,6 +291,35 @@ public void kick(User user, String reason, Member kickedBy, MessageChannel chann
291291 }, ExceptionLogger ::capture );
292292 }
293293
294+ public void sendKickGuildNotification (User user , String reason , Member moderator ) {
295+ sendGuildNotification (moderator .getGuild (), buildKickEmbed (user , moderator , reason ));
296+ }
297+
298+ public void sendBanGuildNotification (User user , String reason , Member moderator ) {
299+ sendGuildNotification (moderator .getGuild (), buildBanEmbed (user , moderator , reason ));
300+ }
301+
302+ public void sendUnbanGuildNotification (User user , String reason , Member moderator ) {
303+ sendGuildNotification (moderator .getGuild (), buildUnbanEmbed (user .getIdLong (), reason , moderator ));
304+ }
305+
306+ public void sendTimeoutGuildNotification (User user , String reason , Member moderator , Duration duration ) {
307+ sendGuildNotification (moderator .getGuild (), buildTimeoutEmbed (user , moderator , reason , duration ));
308+ }
309+
310+ public void sendRemoveTimeoutGuildNotification (User user , String reason , Member moderator ) {
311+ sendGuildNotification (moderator .getGuild (), buildTimeoutRemovedEmbed (user , moderator , reason ));
312+ }
313+
314+ private void sendGuildNotification (Guild guild , MessageEmbed embed ) {
315+ MessageEmbed newEmbed = new EmbedBuilder (embed )
316+ .addField ("Source" , "This action was executed manually without a bot command." , false )
317+ .build ();
318+ notificationService
319+ .withGuild (guild )
320+ .sendToModerationLog (c -> c .sendMessageEmbeds (newEmbed ));
321+ }
322+
294323 private @ NotNull EmbedBuilder buildModerationEmbed (@ NotNull User user , @ NotNull Member moderator , String reason ) {
295324 return new EmbedBuilder ()
296325 .setAuthor (UserUtils .getUserTag (moderator .getUser ()), null , moderator .getEffectiveAvatarUrl ())
@@ -372,8 +401,8 @@ public void kick(User user, String reason, Member kickedBy, MessageChannel chann
372401 .build ();
373402 }
374403
375- private @ NotNull MessageEmbed buildTimeoutRemovedEmbed (@ NotNull Member member , Member timedOutBy , String reason ) {
376- return buildModerationEmbed (member . getUser () , timedOutBy , reason )
404+ private @ NotNull MessageEmbed buildTimeoutRemovedEmbed (@ NotNull User user , Member timedOutBy , String reason ) {
405+ return buildModerationEmbed (user , timedOutBy , reason )
377406 .setTitle ("Timeout Removed" )
378407 .setColor (Responses .Type .SUCCESS .getColor ())
379408 .build ();
0 commit comments