mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-25 20:04:01 +00:00
introduced *all* intents abstracto requires in order to function...., because with the new version the guild members intent was not used, and various features were not functioning
added initial message also to be send
This commit is contained in:
@@ -41,7 +41,7 @@ public class WarnDecayJob extends QuartzJobBean {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
|
||||
public void executeInternal(JobExecutionContext context) throws JobExecutionException {
|
||||
List<AServer> allServers = serverManagementService.getAllServers();
|
||||
allServers.forEach(server -> {
|
||||
boolean featureEnabled = featureFlagService.isFeatureEnabled(warningDecayFeature, server);
|
||||
|
||||
@@ -60,7 +60,7 @@ public class Contact extends AbstractConditionableCommand {
|
||||
.aUserInAServer(user)
|
||||
.member(targetUser)
|
||||
.build();
|
||||
modMailThreadService.createModMailThreadForUser(fullUser, commandContext.getChannel(), false);
|
||||
modMailThreadService.createModMailThreadForUser(fullUser, null, commandContext.getChannel(), false);
|
||||
}
|
||||
return CommandResult.fromSuccess();
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ModMailMessageListener implements PrivateMessageReceivedListener {
|
||||
if(existingThread != null) {
|
||||
modMailThreadService.relayMessageToModMailThread(existingThread, message);
|
||||
} else {
|
||||
modMailThreadService.createModMailPrompt(user, message.getChannel());
|
||||
modMailThreadService.createModMailPrompt(user, message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
|
||||
|
||||
@Override
|
||||
public void createModMailThreadForUser(FullUser aUserInAServer, MessageChannel feedBackChannel, Boolean userInitiated) {
|
||||
public void createModMailThreadForUser(FullUser aUserInAServer, Message initialMessage, MessageChannel feedBackChannel, Boolean userInitiated) {
|
||||
Long categoryId = configService.getLongValue(MODMAIL_CATEGORY, aUserInAServer.getAUserInAServer().getServerReference().getId());
|
||||
User user = aUserInAServer.getMember().getUser();
|
||||
CompletableFuture<TextChannel> textChannel = channelService.createTextChannel(user.getName() + user.getDiscriminator(), aUserInAServer.getAUserInAServer().getServerReference(), categoryId);
|
||||
@@ -116,7 +116,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
textChannel.thenAccept(channel -> {
|
||||
List<UndoActionInstance> undoActions = new ArrayList<>();
|
||||
undoActions.add(UndoActionInstance.getChannelDeleteAction(aUserInAServer.getAUserInAServer().getServerReference().getId(), channel.getIdLong()));
|
||||
self.performModMailThreadSetup(aUserInAServer, channel, userInitiated, undoActions);
|
||||
self.performModMailThreadSetup(aUserInAServer, initialMessage, channel, userInitiated, undoActions);
|
||||
}).exceptionally(throwable -> {
|
||||
log.error("Failed to create mod mail thread", throwable);
|
||||
sendModMailFailure("modmail_exception_failed_to_create_mod_mail_thread", aUserInAServer.getAUserInAServer(), null, feedBackChannel, throwable);
|
||||
@@ -125,10 +125,13 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void performModMailThreadSetup(FullUser aUserInAServer, TextChannel channel, Boolean userInitiated, List<UndoActionInstance> undoActions) {
|
||||
public void performModMailThreadSetup(FullUser aUserInAServer, Message initialMessage, TextChannel channel, Boolean userInitiated, List<UndoActionInstance> undoActions) {
|
||||
try {
|
||||
ModMailThread thread = createThreadObject(channel, aUserInAServer);
|
||||
sendModMailHeader(channel, aUserInAServer, undoActions);
|
||||
if(initialMessage != null){
|
||||
self.sendUserReply(channel, thread, initialMessage);
|
||||
}
|
||||
if(userInitiated) {
|
||||
sendModMailNotification(aUserInAServer, thread, undoActions);
|
||||
}
|
||||
@@ -178,7 +181,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createModMailPrompt(AUser user, MessageChannel channel) {
|
||||
public void createModMailPrompt(AUser user, Message initialMessage) {
|
||||
List<AUserInAServer> knownServers = userInServerManagementService.getUserInAllServers(user.getId());
|
||||
if(knownServers.size() > 0) {
|
||||
List<ServerChoice> availableGuilds = new ArrayList<>();
|
||||
@@ -212,12 +215,12 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
AUserInAServer chosenServer = choices.get(reactionEmote.getEmoji());
|
||||
Member memberInServer = botService.getMemberInServer(chosenServer);
|
||||
FullUser fullUser = FullUser.builder().member(memberInServer).aUserInAServer(chosenServer).build();
|
||||
self.createModMailThreadForUser(fullUser, channel, true);
|
||||
self.createModMailThreadForUser(fullUser, initialMessage, initialMessage.getChannel(), true);
|
||||
})
|
||||
.build();
|
||||
menu.display(channel);
|
||||
menu.display(initialMessage.getChannel());
|
||||
} else {
|
||||
channelService.sendTemplateInChannel("modmail_no_server_available", new Object(), channel);
|
||||
channelService.sendTemplateInChannel("modmail_no_server_available", new Object(), initialMessage.getChannel());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,11 +10,11 @@ import net.dv8tion.jda.api.entities.Message;
|
||||
import net.dv8tion.jda.api.entities.MessageChannel;
|
||||
|
||||
public interface ModMailThreadService {
|
||||
void createModMailThreadForUser(FullUser userInAServer, MessageChannel feedBackChannel, Boolean userInitiated);
|
||||
void createModMailThreadForUser(FullUser userInAServer, Message initialMessage, MessageChannel feedBackChannel, Boolean userInitiated);
|
||||
boolean hasOpenThread(AUserInAServer aUserInAServer);
|
||||
boolean hasOpenThread(AUser user);
|
||||
void setModMailCategoryTo(AServer server, Long categoryId);
|
||||
void createModMailPrompt(AUser user, MessageChannel messageChannel);
|
||||
void createModMailPrompt(AUser user, Message initialMessage);
|
||||
void relayMessageToModMailThread(ModMailThread modMailThread, Message message);
|
||||
void relayMessageToDm(ModMailThread modMailThread, String text, Message message, Boolean anonymous, MessageChannel feedBack);
|
||||
void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, Boolean notifyUser);
|
||||
|
||||
Reference in New Issue
Block a user