fixed using the correct parameter for reply and anon reply (not the whole message, so we dont need to parse out the actual reply again)

added optional note parameter for close
fixed state not being saved in database for mod mail thread
changed logging of mod mail to be templated, instead of replaying the messages
added reaction to indicate the user, that the message was processes by modmail
fixed future handling for user message replies (we blocked)
added header for initial information about the user when he opens a thread
fixed duration formater resulting in new lines
This commit is contained in:
Sheldan
2020-05-06 23:22:43 +02:00
parent ad1cbb54fd
commit feb9ce07ee
23 changed files with 191 additions and 58 deletions

View File

@@ -0,0 +1,20 @@
package dev.sheldan.abstracto.modmail.models.template;
import dev.sheldan.abstracto.modmail.models.database.ModMailThread;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import java.time.Duration;
@Getter
@Setter
@Builder
public class ModMailClosingHeaderModel {
private String note;
private ModMailThread closedThread;
public Duration getDuration() {
return Duration.between(closedThread.getCreated(), closedThread.getClosed());
}
}

View File

@@ -0,0 +1,19 @@
package dev.sheldan.abstracto.modmail.models.template;
import dev.sheldan.abstracto.core.models.FullUser;
import dev.sheldan.abstracto.modmail.models.database.ModMailMessage;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import net.dv8tion.jda.api.entities.Message;
@Getter
@Setter
@Builder
public class ModMailLoggedMessage {
private Message message;
private ModMailMessage modMailMessage;
private FullUser author;
}

View File

@@ -13,6 +13,7 @@ import net.dv8tion.jda.api.entities.Message;
public class ModMailModeratorReplyModel {
private FullUser threadUser;
private FullUser moderator;
private String text;
private Message postedMessage;
private ModMailThread modMailThread;
}

View File

@@ -18,6 +18,6 @@ public interface ModMailThreadService {
void createModMailPrompt(AUser user, MessageChannel messageChannel);
void sendWelcomeMessage(TextChannel channel, FullUser aUserInAServer);
void relayMessageToModMailThread(ModMailThread modMailThread, Message message);
void relayMessageToDm(ModMailThread modMailThread, Message message, Boolean anonymous, MessageChannel feedBack);
void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack);
void relayMessageToDm(ModMailThread modMailThread, String text, Message message, Boolean anonymous, MessageChannel feedBack);
void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note);
}