Skip to content

Commit 597b99a

Browse files
committed
Minor Fixes
1 parent 086b7fa commit 597b99a

File tree

1 file changed

+54
-10
lines changed

1 file changed

+54
-10
lines changed

src/main/java/org/mangorage/mangobotgithub/core/PasteRequestModule.java

Lines changed: 54 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
import org.mangorage.mangobotgithub.core.integration.MangoBotSiteIntegration;
2222
import java.io.IOException;
2323
import java.io.InputStream;
24-
import java.lang.classfile.AccessFlags;
25-
import java.lang.reflect.AccessFlag;
2624
import java.nio.charset.StandardCharsets;
2725
import java.util.HashMap;
2826
import java.util.List;
@@ -41,7 +39,8 @@ public final class PasteRequestModule {
4139
"1179586337431633991",
4240
"716249661798612992" // BenBenLaw Server
4341
);
44-
private static final Emoji EMOJI = Emoji.fromUnicode("\uD83D\uDCCB");
42+
private static final Emoji CREATE_GISTS = Emoji.fromUnicode("\uD83D\uDCCB");
43+
private static final Emoji ANALYZE = Emoji.fromUnicode("\uD83E\uDDD0");
4544

4645
public static void register(IEventBus<IEventType.INormalBusEvent> bus) {
4746
bus.addGenericListener(10, MessageReceivedEvent.class, DiscordEvent.class, PasteRequestModule::onMessage);
@@ -155,13 +154,12 @@ public static void createGists(Message msg, User requester) {
155154
});
156155
}
157156

158-
public static void onMessage(DiscordEvent<MessageReceivedEvent> event) {
159-
var dEvent = event.getInstance();
160-
var message = dEvent.getMessage();
157+
public static void analyzeLog(Message message) {
161158
var attachments = message.getAttachments();
162159

163160
var builder = new StringBuilder();
164161
analyser.scanMessage(message, builder);
162+
165163
if (!attachments.isEmpty()) {
166164
TaskScheduler.getExecutor().execute(() -> {
167165
var suceeeded = new AtomicBoolean(false);
@@ -180,7 +178,7 @@ public static void onMessage(DiscordEvent<MessageReceivedEvent> event) {
180178
}
181179
}
182180

183-
if (!builder.isEmpty()) {
181+
if (!builder.isEmpty()) {;
184182
String id = null;
185183
if (PluginManager.isLoaded("mangobotsite")) {
186184
try {
@@ -193,7 +191,45 @@ public static void onMessage(DiscordEvent<MessageReceivedEvent> event) {
193191
}
194192

195193

196-
if (suceeeded.get()) message.addReaction(EMOJI).queue();
194+
if (suceeeded.get()) message.addReaction(CREATE_GISTS).queue();
195+
});
196+
}
197+
}
198+
199+
public static void onMessage(DiscordEvent<MessageReceivedEvent> event) {
200+
var dEvent = event.getInstance();
201+
var message = dEvent.getMessage();
202+
var attachments = message.getAttachments();
203+
204+
var builder = new StringBuilder();
205+
analyser.scanMessage(message, builder);
206+
207+
if (!attachments.isEmpty()) {
208+
TaskScheduler.getExecutor().execute(() -> {
209+
var suceeeded = new AtomicBoolean(false);
210+
for (Message.Attachment attachment : attachments) {
211+
try {
212+
byte[] bytes = getData(attachment.getProxy().download().get());
213+
if (bytes == null) continue;
214+
String content = new String(bytes, StandardCharsets.UTF_8);
215+
if (containsPrintableCharacters(content)) {
216+
suceeeded.set(true);
217+
analyser.readLog(builder, content);
218+
break;
219+
}
220+
} catch (InterruptedException | ExecutionException e) {
221+
throw new RuntimeException(e);
222+
}
223+
}
224+
225+
if (!builder.isEmpty()) {;
226+
if (PluginManager.isLoaded("mangobotsite")) {
227+
message.addReaction(ANALYZE).queue();
228+
}
229+
}
230+
231+
232+
if (suceeeded.get()) message.addReaction(CREATE_GISTS).queue();
197233
});
198234
}
199235
}
@@ -207,12 +243,20 @@ public static void onReact(DiscordEvent<MessageReactionAddEvent> event) {
207243

208244
dEvent.retrieveMessage().queue(a -> {
209245
if (a.getAttachments().isEmpty()) return;
210-
a.retrieveReactionUsers(EMOJI).queue(b -> {
246+
a.retrieveReactionUsers(CREATE_GISTS).queue(b -> {
211247
b.stream().filter(user -> user.getId().equals(dEvent.getJDA().getSelfUser().getId())).findFirst().ifPresent(c -> {
212-
a.clearReactions(EMOJI).queue();
248+
a.clearReactions(CREATE_GISTS).queue();
213249
createGists(a, dEvent.getUser());
214250
});
215251
});
252+
253+
a.retrieveReactionUsers(ANALYZE).queue(b -> {
254+
b.stream().filter(user -> user.getId().equals(dEvent.getJDA().getSelfUser().getId())).findFirst().ifPresent(c -> {
255+
a.clearReactions(CREATE_GISTS).queue();
256+
event.getInstance().retrieveMessage().queue(PasteRequestModule::analyzeLog);
257+
});
258+
});
259+
216260
});
217261

218262
}

0 commit comments

Comments
 (0)